<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://purl.org/rss/1.0/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
>
  <channel rdf:about="http://bugs.php.net/">
    <title>PHP Bugs Search Results</title>
    <link>http://bugs.php.net/rss/search.php</link>
    <description></description>
    <items>
     <rdf:Seq>
      <rdf:li rdf:resource="http://bugs.php.net/50234" />
      <rdf:li rdf:resource="http://bugs.php.net/50232" />
      <rdf:li rdf:resource="http://bugs.php.net/50218" />
      <rdf:li rdf:resource="http://bugs.php.net/50216" />
      <rdf:li rdf:resource="http://bugs.php.net/50198" />
      <rdf:li rdf:resource="http://bugs.php.net/47703" />
      <rdf:li rdf:resource="http://bugs.php.net/47384" />
      <rdf:li rdf:resource="http://bugs.php.net/46704" />
      <rdf:li rdf:resource="http://bugs.php.net/46316" />
      <rdf:li rdf:resource="http://bugs.php.net/46021" />
      <rdf:li rdf:resource="http://bugs.php.net/44605" />
      <rdf:li rdf:resource="http://bugs.php.net/44057" />
      <rdf:li rdf:resource="http://bugs.php.net/43782" />
      <rdf:li rdf:resource="http://bugs.php.net/43087" />
      <rdf:li rdf:resource="http://bugs.php.net/42683" />
      <rdf:li rdf:resource="http://bugs.php.net/41662" />
      <rdf:li rdf:resource="http://bugs.php.net/41231" />
      <rdf:li rdf:resource="http://bugs.php.net/38678" />
      <rdf:li rdf:resource="http://bugs.php.net/38442" />
      <rdf:li rdf:resource="http://bugs.php.net/38311" />
      <rdf:li rdf:resource="http://bugs.php.net/37473" />
      <rdf:li rdf:resource="http://bugs.php.net/37315" />
      <rdf:li rdf:resource="http://bugs.php.net/36663" />
      <rdf:li rdf:resource="http://bugs.php.net/36474" />
      <rdf:li rdf:resource="http://bugs.php.net/36172" />
      <rdf:li rdf:resource="http://bugs.php.net/30756" />
      <rdf:li rdf:resource="http://bugs.php.net/21970" />
      <rdf:li rdf:resource="http://bugs.php.net/10528" />
     </rdf:Seq>
    </items>
  </channel>

  <image rdf:about="http://bugs.php.net/gifs/logo-bug.gif">
    <title>PHP Bugs</title>
    <url>http://bugs.php.net/gifs/logo-bug.gif</url>
    <link>http://bugs.php.net/</link>
  </image>
    <item>
      <title>[Assigned] oci_fetch_array does NOT set NULL fields to the PHP NULL value</title>
      <link>http://bugs.php.net/50234</link>
      <description>Description:
------------
Under 'Return Values' for function oci_fetch_array, the docs say &quot;sets NULL fields to the PHP NULL value.&quot;  However, unlike oci_fetch_assoc, this function does NOT set NULL fields to the PHP NULL value&quot;; instead, it does not include them in the returned array.  To include NULL values in the array, you must pass in the OCI_RETURN_NULLS flag.


Expected result:
----------------
I suggest that this note be changed to read &quot;this function does not include NULL fields in the returned array, unless OCI_RETURN_NULLS is included in the 'mode' parameter.&quot;

</description>
      <dc:date>2009-11-23</dc:date>
      <dc:time>20:41:13</dc:time>
      <dc:creator>jkeller at berkeley dot edu</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] preg_replace - pattern description omits mention of string delimiter</title>
      <link>http://bugs.php.net/50232</link>
      <description>Description:
------------
Users moving from ereg_replace to preg_replace will not know that delimiters are required unless already familiar w/ regex. Huge numbers of newbies will need to do this.
This entry does not need to explain how to use them, but should mention that they are required, and there should be an explanation of regex delimiters somewhere in the manual since they are critical for basic functionality.

The preg_quote entry mentions delimiters, and may be a good reference link from the preg_replace pattern description.

A very simple example of preg_replace in the function list would highlight the existence and use of delimiters; then the complex examples will be easier to understand.
preg_replace('/text/', 'new text', $string)

Reproduce code:
---------------
---
From manual page: function.preg-replace
---
Parameters

pattern

    The pattern to search for. It can be either a string or an array with strings.

    The e modifier makes preg_replace() treat the replacement parameter as PHP code after the appropriate references substitution is done. Tip: make sure that replacement constitutes a valid PHP code string, otherwise PHP will complain about a parse error at the line containing preg_replace().


Expected result:
----------------
Parameters

pattern

    The pattern to search for. It can be either a string or an array with strings. Use regex delimiters on strings [link to preg_quote() or regex ref].

    The e modifier makes preg_replace() treat the replacement parameter as PHP code after the appropriate references substitution is done. Tip: make sure that replacement constitutes a valid PHP code string, otherwise PHP will complain about a parse error at the line containing preg_replace().


</description>
      <dc:date>1970-01-01</dc:date>
      <dc:time>00:00:00</dc:time>
      <dc:creator>simonokewode at hotmail dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] flock() has numerous documentation errors</title>
      <link>http://bugs.php.net/50218</link>
      <description>Description:
------------
1) I feel this needs to be added to the documentation until it fixed and thus I have filed an annotation note to the documentation:

http://www.php.net/manual/en/function.flock.php#93400

2) The documentation incorrectly states that LOCK_NB does not work on Windows, when in fact only the wouldblock argument is not supported.  See lines 78 thru 141 in the flock_compat.c source code:

http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/ext/standard/flock_compat.c?revision=272370&amp;view=markup

The wouldblock can not be supported on Windows, because the Win32 LockFileEx() function does not support it, nor afaik is there any Win32 function to only query whether a file is currently locked.  See the Win32 LockFileEx() documentation at MSDN:

http://msdn.microsoft.com/en-us/library/aa365203%28VS.85%29.aspx

3) The documentation does not mention that for the values (1,2,3,4) input to this documented flock() function, the LOCK_NB option is a binary flag that can be combined with the other LOCK_* options, and the other LOCK_* options may not be combined with each other.  See line 353 in the file.c source code:

http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/ext/standard/file.c?revision=290190&amp;view=markup

4) The documentation is incorrect to warn against use of NFS, because the underlying implementation is using fcntl (except on Windows).  See the flock_compat.* source code:

http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/ext/standard/flock_compat.h?revision=272370&amp;view=markup
http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/ext/standard/flock_compat.c?revision=272370&amp;view=markup

5) The documentation incorrectly states that blocking is advisory (i.e. not mandatory) on all operating systems other than Windows.  There are exceptions.  See &quot;Mandatory locking&quot; sub-section of the Description section for the Linux fcntl man page:

http://manpages.ubuntu.com/manpages/jaunty/en/man2/fcntl.2.html#toptoc2

6) The documentation does not mention the caveat that due to the underlying implementation using fcntl, thus on systems that adhere to the Posix.1 standard, that all locks associated with a file for a given process (script) are removed when any file descriptor (handle) for that file is closed by that process (script).  See the Description section of the FreeBSD man page:

http://www.freebsd.org/cgi/man.cgi?query=fcntl&amp;apropos=0&amp;sektion=0&amp;manpath=FreeBSD+7.2-RELEASE&amp;format=html#DESCRIPTION

7) Note when viewing the PHP source code links above, do not confuse the operating system #define LOCK_* values (1,2,4,8) with the flock_values[] array LOCK_* 1-based indices (1,2,3,4) documented as input to this documented function flock().  See line 324 in file.c source:

http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/ext/standard/file.c?revision=290190&amp;view=markup

</description>
      <dc:date>2009-11-19</dc:date>
      <dc:time>12:49:18</dc:time>
      <dc:creator>shelby at coolpage dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Assigned] Example use wrong sql query.</title>
      <link>http://bugs.php.net/50216</link>
      <description>Description:
------------
At http://www.php.net/manual/en/function.mysql-stat.php two examples are given on how to obtain information about the database status. The first example use the mysql_stat() function, the second is meant to show how to use the mysql_query(&quot;SHOW STATUS&quot;) I think - as this query is mentioned in the Return Values section of the page. But the query actually used in the example is &quot;SHOW VARIABLES&quot;.



Reproduce code:
---------------
---
From manual page: function.mysql-stat#Examples
---


</description>
      <dc:date>2009-11-18</dc:date>
      <dc:time>13:40:31</dc:time>
      <dc:creator>ximi at cs dot au dot dk</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] mbstring function overloading list incomplete</title>
      <link>http://bugs.php.net/50198</link>
      <description>Description:
------------
This page: http://www.php.net/manual/en/mbstring.overload.php

is missing the following functions in its table:
stripos
strripos
strstr
strrchr
stristr


Reproduce code:
---------------
N/A

Expected result:
----------------
N/A

Actual result:
--------------
N/A
</description>
      <dc:date>1970-01-01</dc:date>
      <dc:time>00:00:00</dc:time>
      <dc:creator>jacob at jacobweber dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Analyzed] ini file syntax not well documented</title>
      <link>http://bugs.php.net/47703</link>
      <description>Description:
------------
The legal syntax for PHP ini files (both php.ini and those parsed by parse_ini_file()) is not really fully described anywhere in the manual. It'd be helpful to have that documented say on http://www.php.net/manual/en/configuration.file.php, and then have the parse_ini_file() and parse_ini_string() documentation pages link to that syntax documentation.

There are bits and pieces of documentation, like in the comments of the php.ini in Example 1 on the above page, and in the comments of the latest php.ini in CVS.  Also, in the page for parse_ini_file(), it documents the set of illegal words and characters for keys.  It also says certain characters have &quot;special meaning&quot; in values, but doesn't say what those meanings are / what they can be used for in values.

The lack of precise syntax documentation makes it hard to predict how parse_ini_file() will actually treat a given ini file line (as an error, as ok but with some odd value interpretation, or just silently ignore).  The following examples illustrate; these are using 5.3.0-beta2 snapshot on Windows.

			value of key &quot;x&quot; 
ini line		from parse_ini_file()
--------		---------------------
x = 'foo' ;blah		foo
	;; Single quotes are ok too?

# x = blah		N/A
	;; No keys parsed out for this line, and no syntax
	;; error reported -- is &quot;#&quot; a comment char.?

x = &quot;foo&quot; # test	foo# test
	;; Hmm, legal to have text after double quoted value
	;; and gets oddly appended to value.
	;; And no, guess &quot;#&quot; ISN'T a comment char.

foo bar car		N/A
	;; No keys parsed out for this line, and no syntax
	;; error reported.  What happened to it?


Reproduce code:
---------------
The above was done by varying the contents of test.ini and then running the following command at the windows prompt:

% php -r &quot;print_r(parse_ini_file('test.ini'));&quot;


Expected result:
----------------
For most of the examples I expected syntax errors to be reported.  But the larger issue is that without documentation of the legal syntax of ini files, PHP users don't really know what's legal and what's not.


Actual result:
--------------
See above.

</description>
      <dc:date>2009-08-07</dc:date>
      <dc:time>14:58:02</dc:time>
      <dc:creator>ctoomey at yahoo-inc dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] static references resolved incorrectly with class inheritance</title>
      <link>http://bugs.php.net/47384</link>
      <description>Description:
------------
When defining properties using constants with parent or self, they are resolved using computed classes instead of defined classes.

This behavior appears to have existed since PHP 5.0.5 and still exists in PHP 5.3beta3, a 5.3 CVS snapshot (200902122000), and 5.2 CVS snapshot (200902121200).

Someone has brought this up before in php-internals:
http://marc.info/?l=php-internals&amp;m=118839969729862&amp;w=2

Reproduce code:
---------------
&lt;?php
	class Father {
		const my_name = 'Father';
		public $name = self::my_name;
	}
	class Son extends Father {
		const my_name = 'Son';
		public $daddy = parent::my_name;
	}
	class GrandSon extends Son {
		const my_name = 'Grandchild';
	}

	$older = new GrandSon;
	echo &quot;{$older-&gt;name}\n&quot;;
	echo &quot;{$older-&gt;daddy}\n&quot;;
?&gt;

Expected result:
----------------
Father
Father

Actual result:
--------------
Grandchild
Son
</description>
      <dc:date>2009-11-23</dc:date>
      <dc:time>14:54:31</dc:time>
      <dc:creator>alreece45 at gmail dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] --with-php-config and php-config missing docs</title>
      <link>http://bugs.php.net/46704</link>
      <description>Description:
------------
Document --with-php-config and the php-config shell script that comes with PHP. A MAN page does exist for php-config...

Also while documenting be sure to mention it within the install section, including in the pecl/phpize docs.

</description>
      <dc:date>1970-01-01</dc:date>
      <dc:time>00:00:00</dc:time>
      <dc:creator>philip@php.net</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] call_user_func_array php5.x differences</title>
      <link>http://bugs.php.net/46316</link>
      <description>Description:
------------
return call_user_func_array(array($this, 'parent::__construct'), $arrParentArgs); causes a warning in 5.1.1, but works in 5.2.6

$parent_class=get_parent_class($this);
call_user_func_array(array($parent_class, '__construct'), $arrParentArgs); causes an e_strict message in 5.2.6, but works in 5.1.1

The documentation needs to state when this change occurred, so that applications can test the PHP version and behave appropriately.

Expected result:
----------------
The documentation should reflect this behavior change, and inform developers of how to work with it. It should also describe the current correct way of calling parent functions.

Actual result:
--------------
The documentation says nothing about using parent in call_user_func_array.
</description>
      <dc:date>1970-01-01</dc:date>
      <dc:time>00:00:00</dc:time>
      <dc:creator>rpeters at icomproductions dot ca</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] windows build documentation incomplete</title>
      <link>http://bugs.php.net/46021</link>
      <description>Description:
------------
Hi,

on the page: http://de3.php.net/manual/de/install.windows.building.php you advice to download some extra libraries to build PHP on Windows.

E.g. http://www.php.net/extra/win32build.zip

The download does not work, I guess it's a forgotten rewrite rule or something like that.

regards
  Ruben

Expected result:
----------------
Download the file

Actual result:
--------------
Rewritten to search page:
http://de.php.net/manual-lookup.php?pattern=extra%2Fwin32build.zip&amp;lang=de
</description>
      <dc:date>2009-05-01</dc:date>
      <dc:time>07:57:43</dc:time>
      <dc:creator>ruben dot wagner at gmx dot net</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] stream_select() does not work with fopen(&quot;php://output&quot;)</title>
      <link>http://bugs.php.net/44605</link>
      <description>Description:
------------
This code gave me an error : 

# $stdout = fopen(&quot;php://output&quot;, &quot;wb&quot; );
# (...)
# $sw = array($stdout);
# $sr = $se = NULL;
# $r = stream_select($sr, $sw, $se, 3); 
# fwrite($stdout, &quot;hello php world!&quot; );
# flush();

So there is no way to detect if the client is able to receive data (in case of non gracefully disconnection).

Expected result:
----------------
stream_select should return 0 (for timeout reason) if the client is disconnected.

Actual result:
--------------
PHP ERROR : cannot represent a stream of type Output as a select()able descriptor
</description>
      <dc:date>2008-04-04</dc:date>
      <dc:time>02:11:44</dc:time>
      <dc:creator>jc_mammana at hotmail dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] Session vars weird behavior</title>
      <link>http://bugs.php.net/44057</link>
      <description>Description:
------------
Looks like session data gets corrupted at serialization step if one attempts to store certain variables in session, namely HTTP_SESSION_VARS. As far as I understand it is a desired behavior that var with that name doesn't get saved in session (still it is *really* worth mentioning that in documentation on sessions), but it seems to have some side effects on successive variables passed to the session.

Reproduce code:
---------------
session_start();

print '&lt;pre&gt;';
print_r($_SESSION);
print '&lt;/pre&gt;';

$_SESSION['qwerty'] = 1;
$_SESSION['HTTP_SESSION_VARS'] = 2;
$_SESSION['ABC'] = 'qqq';

Expected result:
----------------
First call:
Array
(
)

Later calls:
Array
(
    [qwerty] =&gt; 1
    [ABC] =&gt; qqq
)

Actual result:
--------------
First call:
Array
(
)

Later calls:
Array
(
    [qwerty] =&gt; 1
    [i:2;ABC] =&gt; qqq
)
</description>
      <dc:date>2009-02-10</dc:date>
      <dc:time>17:47:34</dc:time>
      <dc:creator>galaxy dot mipt at gmail dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] feof() does not detect timeout on socket</title>
      <link>http://bugs.php.net/43782</link>
      <description>Description:
------------
From docs:

&quot;Returns TRUE if the file pointer is at EOF or an error occurs (including socket timeout); otherwise returns FALSE.&quot;

...

&quot;If a connection opened by fsockopen() wasn't closed by the server, feof() will wait until a timeout has been reached to return TRUE. The default timeout value is 60 seconds. You may use stream_set_timeout() to change this value.&quot;



feof() dows not wait and returns TRUE instead of FALSE if timeout reached (server does not closed connection and there is no data in timeout time slot).

* server does not closed connection,
* timeout wa reached

Reproduce code:
---------------
$s = stream_socket_client('tcp://www.php.net:80', $errno, $errstr, 10, STREAM_CLIENT_CONNECT);

stream_set_timeout($s, 4);

$response = '';
while (feof($s) !== TRUE) {

   if (($foo = @fread($s, 1024 * 8)) === FALSE) return NULL;
   $response = $response . $foo;
};

print &quot;OK&quot;;

Expected result:
----------------
prints &quot;OK&quot; approx. in 4 seconds

Actual result:
--------------
hangs forever
</description>
      <dc:date>2008-11-25</dc:date>
      <dc:time>07:32:25</dc:time>
      <dc:creator>ml at foofree dot sk</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Assigned] Install documentation for Apache is insecure</title>
      <link>http://bugs.php.net/43087</link>
      <description>Description:
------------
The documentation on how to hook php in the apache httpd config is a piece of shit. Both as cgi and as module.
It pollutes the document root, it pollutes the mime types and is insecure.
Please delete the whole page(php.net/install.windows.apache2) and replace with a sane configuration.


Reproduce code:
---------------
Urls that explains why the documentation is totally insane.
http://www.devside.net/articles/php
http://wiki.apache.org/httpd/PHPOnWindows

Expected result:
----------------
A nice easy to use config example that has a high quality and does not abuse features.

Actual result:
--------------
An hard to use config that is hard to maintain and uses several hacks just to get it kinda working.
</description>
      <dc:date>2009-11-23</dc:date>
      <dc:time>21:07:46</dc:time>
      <dc:creator>henke at henke37 dot cjb dot net</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] Need APC theory-of-operation documentation</title>
      <link>http://bugs.php.net/42683</link>
      <description>Description:
------------
I can't seem to find much information on the theory of operation of opcode caches (such as APC). There is plenty of information on installing and running APC, but little on what does or how it operates. Some hints can be found through Google searches, but not much.

When writing code, for example, I don't know under which conditions I may be creating code which will not be compiled to opcodes by APC.

</description>
      <dc:date>2007-10-15</dc:date>
      <dc:time>18:49:36</dc:time>
      <dc:creator>tony at tigerheron dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] SimpleXML-&gt;children() misleading result</title>
      <link>http://bugs.php.net/41662</link>
      <description>Description:
------------
Testing an SimpleXMLElement object for children is unconsistent.
Here is an example:
--------
$str = '&lt;rootnode&gt;&lt;subnode&gt;&lt;/subnode&gt;&lt;/rootnode&gt;';
$x = new SimpleXMLElement($str);
if($x-&gt;subnode-&gt;children())
    print 'yes';
    else
        print 'no';
---------
will print 'no';

If the
$str='&lt;rootnode&gt;&lt;subnode&gt;&lt;newnode&gt;&lt;/newnode&gt;&lt;/subnode&gt;&lt;/rootnode&gt;';
it will print yes.
But the same will happen if the subnode has an attribute like:
$str = '&lt;rootnode&gt;&lt;subnode id=&quot;2&quot;&gt;&lt;/subnode&gt;&lt;/rootnode&gt;';

But if we use foreach($x-&gt;subnode-&gt;children() as $key=&gt;$value)
in the latter example we will not get anything (which is correct).
I think is wrong the children() method to return object when there are no child objects and the node has attributes (because for querying the attributes we have the attributes() method).
This was discussed in php-dev list - http://marc.info/?l=php-dev&amp;m=118001203709813&amp;w=2

If this is not a bug, I think a note regarding this behaviour must be added in the docs.

Reproduce code:
---------------
$str = '&lt;rootnode&gt;&lt;subnode id=&quot;2&quot;&gt;&lt;/subnode&gt;&lt;/rootnode&gt;';
$x = new SimpleXMLElement($str);
if($x-&gt;subnode-&gt;children())
    print 'yes';
    else
        print 'no';

Expected result:
----------------
no

Actual result:
--------------
yes
</description>
      <dc:date>2007-08-19</dc:date>
      <dc:time>20:08:52</dc:time>
      <dc:creator>kenashkov at gmail dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] x86_64 config library path search documentation problem</title>
      <link>http://bugs.php.net/41231</link>
      <description>Description:
------------
The configure script fails to search for the mysql libraries in the proper location for some (Fedora) x86_64 environments. There is no way to override this behavior on the configure command line. This error is 100% reproducible  in FC4 - FC6 on x86_64 hardware. The solution is a one line fix in the configure script. More properly it should probably be applied to whatever m4 macro is used to construct the script, but that doesn't seem to be available in the snapshot.

The patch that corrects this bug is available here: http://www.pastebin.ca/465020

Reproduce code:
---------------
configure  --with-zlib --with-mysql --enable-mbstring --enable-fastcgi and --enable-discard-path --no-create --no-recursion

Expected result:
----------------
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... /var/lib/mysql/mysql.sock
checking for mysql_close in -lmysqlclient... yes


This result is achieved by applying the patch located here:
http://www.pastebin.ca/465020

Actual result:
--------------
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... /var/lib/mysql/mysql.sock
configure: error: Cannot find libmysqlclient under /usr.
Note that the MySQL client library is not bundled anymore!

</description>
      <dc:date>2007-08-22</dc:date>
      <dc:time>17:30:31</dc:time>
      <dc:creator>hillct-php-bugreport at cthill dot org</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] APC docs need mmap infos</title>
      <link>http://bugs.php.net/38678</link>
      <description>Description:
------------
coming from
http://news.php.net/php.pecl.dev/4095
pointed here from
http://news.php.net/php.pecl.dev/4096

The APC docs don't tell anything about how memory is used in mmap mode.
e.g. that 
- maximum shm-segment-size told in /proc/sys/kernel/shmmax isn't in effect here
- mmap uses only one segment and currently uses only the size specified in apc-config for the shm-segments (see bug http://pecl.php.net/bugs/bug.php?id=8609 , maybe that changes) 
- currently one can only guess which mode is used but I think the phpinfo tells at least &quot;mmap is enabled&quot; ( see bug http://pecl.php.net/bugs/bug.php?id=8608 at pecl.php.net) 

As mmap-mode is the default nowadays in apc it would be good to tell some more about its configuration :).

If one could add the pros/cons of using mmap over shm it would be great too!

</description>
      <dc:date>1970-01-01</dc:date>
      <dc:time>00:00:00</dc:time>
      <dc:creator>thomas-lists at mysnip dot de</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Assigned] Install instructions FastCGI</title>
      <link>http://bugs.php.net/38442</link>
      <description>Description:
------------
Hey,
the docs are missing install instructions for the FastCGI sapi. 

Regards
Friedhelm

</description>
      <dc:date>2008-11-01</dc:date>
      <dc:time>05:55:22</dc:time>
      <dc:creator>holliwell at gmx dot net</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] About the note in socket-getpeername's documentation</title>
      <link>http://bugs.php.net/38311</link>
      <description>Description:
------------
I really don't understand following sentence, appearing at manual/en/function.socket-getpeername.php:

   Note:  socket_getpeername() should not be used with
   AF_UNIX sockets created with socket_accept(). Only
   sockets created with socket_connect() or a primary
   server socket following a call to socket_bind() will
   return meaningful values.

For example,
   $connection = socket_accept($endpoint);
   socket_getpeername($connection, $peer, $peerport);
works perfectly well (one gets client's address and port).

More generally, above excerpt tends to remove a good deal of the generality of the getpeername(2) system call.

It seems that some kind of cut/paste errors occured while writing above note. For example, perhaps should it have read:
   Note:  socket_getpeername() should not be used with
   AF_UNIX sockets created with socket_create(). Only
   sockets created with socket_connect() or a primary
   server socket following a call to socket_accept() will
   return meaningful values.
But even so, it would remain somewhat obscure.

HTH,
Axel

</description>
      <dc:date>2007-08-19</dc:date>
      <dc:time>09:36:37</dc:time>
      <dc:creator>axelluttgens at swing dot be</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] MacOS X documentation update</title>
      <link>http://bugs.php.net/37473</link>
      <description>Description:
------------

The Mac OS X install section of the manual is outdated. Some considerations:

1. Precompiled packages

It appears darwinports is the most up-to-date resource for this, with fink being another common resource. entropy.ch offers a popular build with excellent information too but using a popular command such as 'port' seems more documentation worthy. We could link to all three with emphasis on darwinports.

Also, these docs should never link to a specific file as they do currently (libphp4.so.gz), these docs should be generic in nature.

2. Compiling it

The documentation should provide information for users wanting to compile PHP themselves as currently this information does not exist within the 'MacOS X Client' docs. There are some user comments that look helpful for this, and if needed we could also ask a few &quot;mac experts&quot; out there for helpful tips/info for making this process work, and mention common problems that could come about.

3. The &quot;provided by Marc Liyanage&quot; can be removed, we do not write author information in the manual. Whoever updates these docs will be rewriting them anyways...


</description>
      <dc:date>2009-05-08</dc:date>
      <dc:time>17:52:21</dc:time>
      <dc:creator>philip@php.net</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] PECL install docs per extension need help</title>
      <link>http://bugs.php.net/37315</link>
      <description>Description:
------------
For each PECL extension there is installation information, for both Linux/Windows, that use many pecl related entities from global.ent. The problem is these entities were created before the install.pecl chapter existed in the manual. Windows DLL locations have also changed.

Changes needed:

- Deal with Windows DLL's as the links have changed. The new URL for these is:
 http://pecl4win.php.net/
Note which are included in core ext/ and which are bundled in the separate pecl dll download, and keep track of php versions (this info changes through php 4, 5, 5.1, 5.2, 6) so for example a dll may be with core from php4-5, but moved to the pecl downloads in 5.1+

- Collaborate with the pecl.php.net team for said dll files. Perhaps they should link to the dll's instead, that would be nice

- Consistently document each PECL extension in a similar fashion by always referring to install.pecl for compiling static and shared modules

- Deprecate some entities in favor of install.pecl info

- Surely other issues exist as well

The pecl.info entity, which should be used in every PECL extensions documentation, now links to install.pecl so that was the first step :)

</description>
      <dc:date>1970-01-01</dc:date>
      <dc:time>00:00:00</dc:time>
      <dc:creator>philip@php.net</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Verified] unexpected difference between &quot;zlib.output_compression&quot; and &quot;ob_gzhandler&quot;</title>
      <link>http://bugs.php.net/36663</link>
      <description>Description:
------------
if php.ini has:
    output_handler = ob_gzhandler
dynamically generated JPGs are output with gzip (Content-Encoding: gzip).

if php.ini has (instead):
    zlib.output_compression = on
dynamically generated JPGs are output without gzip.

In both cases the HTTP request includes &quot;Accept-Encoding: gzip&quot;.

It does seem stupid to attempt to compress a compressed image file, but I can't find any documentation that explains which way is the &quot;right&quot; way to do it, or how to override the default behavior.


</description>
      <dc:date>2009-11-23</dc:date>
      <dc:time>13:34:05</dc:time>
      <dc:creator>atom at smasher dot org</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Assigned] strtotime: Document internal Date Input Format</title>
      <link>http://bugs.php.net/36474</link>
      <description>Description:
------------
strtotime
GNU Date Input Format link changed again, to:

http://www.gnu.org/software/tar/manual/html_node/Date-input-formats.html


Reproduce code:
---------------
n/a

Expected result:
----------------
n/a

Actual result:
--------------
n/a
</description>
      <dc:date>2009-11-20</dc:date>
      <dc:time>14:14:35</dc:time>
      <dc:creator>mrgrier at yahoo dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] subclass serialization of parent private members</title>
      <link>http://bugs.php.net/36172</link>
      <description>Description:
------------
With a private member defined in a parent class and a subclass which defines a __sleep method, serialization of instances of the subclass will not save the parent's private member. 

This works as expected if __sleep methods are not defined.

Clearly, because of name conflicts, the child __sleep cannot return the names of the parent's private members (directly, or indirectly by calling parent::__sleep), and therefore I think PHP might need to call __sleep for each class in the hierarchy.

This may be the same issue the no-feedback bug #35779 was trying to convey.

Reproduce code:
---------------
class A {
  private $a;

  public function __construct() {
    $this-&gt;a = 'aVal';
  }

  public function __sleep() {
   return array('a');
  }
}

class B extends A {
  private $b;

  public function __construct() {
    parent::__construct();
    $this-&gt;b = 'bVal';
  }

  public function __sleep() {
   //return array('b');   
   return array_merge(parent::__sleep(), array('b'));
  }
}

$serialB = serialize(new B());
print_r(unserialize($serialB));

Expected result:
----------------
B Object
(
    [b:private] =&gt; bVal
    [a:private] =&gt; aVal
)


Actual result:
--------------
Notice: serialize(): &quot;a&quot; returned as member variable from __sleep() but does not exist in [...]
B Object
(
    [b:private] =&gt; bVal
    [a:private] =&gt; 
    [a] =&gt; 
)
</description>
      <dc:date>2008-04-16</dc:date>
      <dc:time>13:30:37</dc:time>
      <dc:creator>php at justin dot meagerman dot net</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Verified] Lack of useful documentation for PDF extension</title>
      <link>http://bugs.php.net/30756</link>
      <description>Description:
------------
This page is a prime example ... http://au.php.net/manual/en/function.pdf-place-image.php

For example, I have no way of telling from this manual page what the scale parameter means, does, how to use it, how to calculate it, etc.

Most of the manual pages for the PDF extension are as sparse (if not worse) than this.  Google doesn't seem to return many useful results either, neither can I readily locate the documentation on the pdflib website.

Can someone either update the documentation for this extension, or point the manual pages to where the documention for these functions can be found in more detail?

</description>
      <dc:date>2006-09-08</dc:date>
      <dc:time>17:17:45</dc:time>
      <dc:creator>tim dot lokot at printsoft dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] Creating a new Tutorial section</title>
      <link>http://bugs.php.net/21970</link>
      <description>Topic: include_path (PHP_INI_ALL)

It seems that the include_path directive has been confusing some people lately so let's teach everyone how to use it.   This is a request for a tutorial (&quot;tutorial.include-path&quot;) that explains the use include_path.  Topics include:

+ How to set it properly/effectivly using*:
  - ini_set() (PHP_INI_USER)
  - .htaccess (PHP_INI_PERDIR)
  - php.ini (PHP_INI_SYSTEM)
  - httpd.conf (PHP_INI_SYSTEM)

  See also: config.xml      : sec1 configuration.changes
            PHP_INI_* table : currently in ini_set() docs

  * Another need is an explanation of conf features 
    in terms of other web servers like IIS (i.e. 
    windows registry), but that's another topic.

+ It's meaning in relation to:
  - include/require
  - safe mode
  - open_basedir
  - allow_url_fopen  (filesystem/ini.xml)
  - streams
  - ini_get
  - readfile, file, etc. (mention other stuff that uses include_path)

+ Examples
+ Include all changes (when bugs|features were fixed|added)

This is both a report to gather confirmed facts as well as a reminder for us to eventually write it.  In otherwords, all documentation within the entire manual on this topic needs evaluating.</description>
      <dc:date>2009-04-27</dc:date>
      <dc:time>15:47:32</dc:time>
      <dc:creator>philip at cornado dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
    <item>
      <title>[Open] I have been unable to find any documentation on the SAPI interface.</title>
      <link>http://bugs.php.net/10528</link>
      <description>I need to incorporate a PHP engine into a program which is very similar to a web server.

I am thoroughly familiar with the documentation and I have written normal extensions to PHP to call functions in a library. No problem.

Have I overlooked the SAPI docs?

Is there a simple example?

If not I will have to hack away at the Apache SAPI but I'd rather have a route map!

Thanks.</description>
      <dc:date>2007-08-23</dc:date>
      <dc:time>08:56:00</dc:time>
      <dc:creator>alatham at flexsys-group dot com</dc:creator>
      <dc:subject>Documentation problem</dc:subject>
    </item>
</rdf:RDF>
