#45794 [NEW]: HTTP headers rendered differently in PHP than Apache rewrite mod likes them
From: tarag956 at gmail dot com Operating system: nix PHP version: 5.2.6 PHP Bug Type: *Web Server problem Bug description: HTTP headers rendered differently in PHP than Apache rewrite mod likes them Description: HTTP headers rendered differently in PHP than Apache rewrite mod likes them For instance... PHP renders a header this way (from the $_SERVER associated array): HTTP_X_MOZ But apache rewrite mod likes it: HTTP:X-MOZ I couldn't find any previous reports on this. But basically, PHP needs some way for its HTTP headers to end up looking the same way that Apache's mod-rewrite likes them. Other examples... Apache likes them like: HTTP:X-FORWARDED-FOR REMOTE_ADDR HTTP:CLIENT-IP REQUEST_METHOD But PHP usually converts all "-" to "_" and converts all ":" to "_" and sometimes adds "HTTP_" in front of things. Maybe this is a feature request, but it would be nice if PHP's HTTP header variables could go be the exact names that HTTP's rewrite mod like them as. Reproduce code: --- .. Expected result: .. Actual result: -- .. -- Edit bug report at http://bugs.php.net/?id=45794&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45794&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45794&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45794&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45794&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45794&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45794&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=45794&r=needscript Try newer version:http://bugs.php.net/fix.php?id=45794&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45794&r=support Expected behavior:http://bugs.php.net/fix.php?id=45794&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45794&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45794&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45794&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45794&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45794&r=dst IIS Stability:http://bugs.php.net/fix.php?id=45794&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45794&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45794&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45794&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=45794&r=mysqlcfg
#45793 [NEW]: conflicting types for `utf8_mime2text'
From: amiheev at st-host dot ru Operating system: Linux glibc-2.3.3-27 gcc-3.3.3 PHP version: 5.2.6 PHP Bug Type: Compile Failure Bug description: conflicting types for `utf8_mime2text' Description: This bug have been opened many times for a variety of php versions (up to 5.2.0), but most of them were closed due to no feedback. Hopefully, this report would be the final one. As in previous reports, the problem occurs while trying to build PHP over a newer c-client version with new utf8_mime2text signature. This is caused by undefined HAVE_NEW_MIME2TEXT. configure script detects new c-client correctly and comments out the '#undef HAVE_NEW_MIME2TEXT' line, but this is not enough. The following changes to main/php_config.h after running ./configure solve the problem: /* Whether utf8_mime2text() has new signature * -/* #undef HAVE_NEW_MIME2TEXT */ +#define HAVE_NEW_MIME2TEXT Reproduce code: --- ./configure --with-imap=/usr/local && make Expected result: Compile without errors. Actual result: -- Compilation fails with the following output /chr/src/php-5.2.6/ext/imap/php_imap.c:82: error: conflicting types for `utf8_mime2text' /usr/local/include/utf8aux.h:37: error: previous declaration of `utf8_mime2text' -- Edit bug report at http://bugs.php.net/?id=45793&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45793&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45793&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45793&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45793&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45793&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45793&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=45793&r=needscript Try newer version:http://bugs.php.net/fix.php?id=45793&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45793&r=support Expected behavior:http://bugs.php.net/fix.php?id=45793&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45793&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45793&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45793&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45793&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45793&r=dst IIS Stability:http://bugs.php.net/fix.php?id=45793&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45793&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45793&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45793&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=45793&r=mysqlcfg
#45467 [Ver->Bgs]: Invoking dynamic method name within class segfaults
ID: 45467 Updated by: [EMAIL PROTECTED] Reported By: thijs dot wijnmaalen at gmail dot com -Status: Verified +Status: Bogus Bug Type: Scripting Engine problem Operating System: * PHP Version: 5.2CVS, 5.3CVS (2008-07-09) New Comment: Which is infinite recursion, which is known to segfault (see other reports) Previous Comments: [2008-08-11 20:29:26] [EMAIL PROTECTED] > return $this->$this->_[0](); Here PHP will try to read the property $this->$this. So it will try to convert $this to a string, which will call __toString(), etc and it crashes. This is basically the same as the following code: [2008-07-10 10:27:22] [EMAIL PROTECTED] It actually crashes, here's relevant part from valgrind: ==1178== Process terminating with default action of signal 11 (SIGSEGV) ==1178== Access not within mapped region at address 0xBE1A0FFC ==1178==at 0x823AF25: zend_get_property_info (zend_object_handlers.c:179) ==1178== Stack overflow in thread 1: can't grow stack to 0xBE1A0FF8 And this is the gdb output (relevant parts): execute (op_array=0x8aad87c) at /home/jani/src/php-5.2/Zend/zend_vm_execute.h:53 53 memset(EX(CVs), 0, sizeof(zval**) * op_array->last_var); The full backtrace is a bit too long to paste here. [2008-07-09 13:28:01] thijs dot wijnmaalen at gmail dot com Description: When accessing a method within or from another class, whereby the name is stored as value in an array as attribute in the class. The proper way of doing this would be to enclose the method name in brackets (which works as expected): return $this->{$this->_[0]}(); Reproduce code: --- _[0] = 'a'; return $this->$this->_[0](); } function a () { return 'call'; } } echo $a = new A(); ?> Expected result: Syntax error message Actual result: -- Empty reply from server -- Edit this bug report at http://bugs.php.net/?id=45467&edit=1
#45790 [Opn->Bgs]: strtoupper() does not work on vowels with accents
ID: 45790 Updated by: [EMAIL PROTECTED] Reported By: zsheran at gmail dot com -Status: Open +Status: Bogus Bug Type: Strings related Operating System: Linux Debian Etch PHP Version: 5.2.6 New Comment: Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php Use setlocale() to set a proper locale environment. Previous Comments: [2008-08-11 21:39:59] zsheran at gmail dot com Description: when using strtoupper() it does not affect vowels with accents, such as é, ó or í. Reproduce code: --- echo strtoupper('aeiou-áéíóú'); Expected result: AEIOU-ÁÉÍÓÚ Actual result: -- AEIOU-áéíóú -- Edit this bug report at http://bugs.php.net/?id=45790&edit=1
#45792 [Opn->Asn]: bz2 compressed files in zip failure
ID: 45792 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Assigned Bug Type: PHAR related Operating System: linux PHP Version: 5.3CVS-2008-08-12 (CVS) Assigned To: cellog Previous Comments: [2008-08-12 02:55:55] [EMAIL PROTECTED] Description: a zip archive created with info-zip using bzip2 compression is not properly processed by phar. -- Edit this bug report at http://bugs.php.net/?id=45792&edit=1
#45792 [NEW]: bz2 compressed files in zip failure
From: [EMAIL PROTECTED] Operating system: linux PHP version: 5.3CVS-2008-08-12 (CVS) PHP Bug Type: PHAR related Bug description: bz2 compressed files in zip failure Description: a zip archive created with info-zip using bzip2 compression is not properly processed by phar. -- Edit bug report at http://bugs.php.net/?id=45792&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45792&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45792&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45792&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45792&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45792&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45792&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=45792&r=needscript Try newer version:http://bugs.php.net/fix.php?id=45792&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45792&r=support Expected behavior:http://bugs.php.net/fix.php?id=45792&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45792&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45792&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45792&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45792&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45792&r=dst IIS Stability:http://bugs.php.net/fix.php?id=45792&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45792&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45792&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45792&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=45792&r=mysqlcfg
#45755 [Opn]: can't use pipes to deliver script via PATH_TRANSLATED
ID: 45755 User updated by: louis at steelbytes dot com Reported By: louis at steelbytes dot com Status: Open Bug Type: CGI related Operating System: Vista SP1 x64 PHP Version: 5.2.6 New Comment: more notes: * using php.exe -f \\.\pipe\test also does not work * also using \\mypc\pipe\test does not work Previous Comments: [2008-08-11 11:08:53] louis at steelbytes dot com using a trivial pipes experiment available from http://louis.steelbytes.com/temp/fileAsPipe.zip shell1: fileAsPipe c:\path\test.php \\.\pipe\test shell2: set GATEWAY_INTERFACE=CGI/1.1 set REQUEST_METHOD=GET set PATH_TRANSLATED=\\.\pipe\test set SCRIPT_NAME=test.php php-cgi.exe shell2.output: Status: 404 Not Found X-Powered-By: PHP/5.2.6 Content-type: text/html No input file specified. note: this is arguably not a bug, but really a feature request :) [2008-08-08 07:52:18] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. It's read by a human, we need a script or C code or at least something we can test with. [2008-08-08 07:31:02] louis at steelbytes dot com is this request for script by a robot? it feels like it. or maybe the bug was skimmed but not read by a human? [2008-08-08 06:42:32] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. [2008-08-08 06:30:53] louis at steelbytes dot com Description: I'm trying to call php-cgi.exe from inside my app, and I wanted to supply the script via a pipe. so I set the pipe name \\.\pipe\testpipe in PATH_TRANSLATED, but php-cgi.exe won't read from there. it failes in virtual_file_ex() being confused thinking it's a unc path, and skipping the . component, and trying to use FindFirstFile to test if valid. Reproduce code: --- see above Expected result: see above Actual result: -- see above -- Edit this bug report at http://bugs.php.net/?id=45755&edit=1
#45780 [Bgs]: array_walk ignores to pass reference if & is in function definition at userdata
ID: 45780 Updated by: [EMAIL PROTECTED] Reported By: Ultrasick at gmx dot de Status: Bogus Bug Type: Scripting Engine problem Operating System: probably any PHP Version: 5.2.6 New Comment: array_walk is declared as follows: bool array_walk ( array &$array , callback $funcname [, mixed $userdata ] ) So $array is implicitly passed by reference. Previous Comments: [2008-08-11 23:03:16] Ultrasick at gmx dot de sorry, didn't want to change the summary [2008-08-11 22:48:48] Ultrasick at gmx dot de So do I also need to add a "&" before the "$my_array" to make changes in array and not in a copy of the array? Like this: array_walk(&$my_array, 'my_function', &$my_variable); [2008-08-11 18:23:34] [EMAIL PROTECTED] [2008-08-11 18:22:29] [EMAIL PROTECTED] This is expected. > array_walk($my_array, 'my_function', $my_variable); The variable is passed by reference to my_function(), you can verify that by adding an echo in the function. But as you did not passed $my_variable by reference, array_walk() uses its own copy of $my_variable, and this is that copy which is passed to my_function(). So you need to pass it explicitly by reference to array_walk(). [2008-08-11 03:45:45] Ultrasick at gmx dot de Description: The function "array_walk" ignores to pass the reference and passes the content instead for the parameter "userdata" if the "&" isn't written inside the "array_walk()" but inside the function definition ("function somename(&$value, &$key, &$userdata)"). This doesn't work for the "userdata"-parameter but it does work for the "value" and the "key"-parameter. Have a look at the code at the bottom and the expected and the actual result. Now compare what would happen if you would call "my_function" manually by using my_function($any_value, $any_key, $my_variable); echo $my_variable; and then using my_function($any_value, $any_key, &$my_variable); echo $my_variable; In both cases $my_variable would be increased, of course. So in my oppinion the userdata-problem it's not just inconsistency. It's a bug because a part of the function definition is beeing ignored. Reproduce code: --- '; array_walk($my_array, 'my_function', &$my_variable); echo $my_variable; ?> Expected result: expected output: 4 --- 4 Actual result: -- actual output: 1 --- 4 -- Edit this bug report at http://bugs.php.net/?id=45780&edit=1
#45780 [Bgs]: array_walk ignores to pass reference if & is in function definition at userdata
ID: 45780 User updated by: Ultrasick at gmx dot de -Summary: why is it only expected for the user data parameter? Reported By: Ultrasick at gmx dot de Status: Bogus Bug Type: Scripting Engine problem Operating System: probably any PHP Version: 5.2.6 New Comment: sorry, didn't want to change the summary Previous Comments: [2008-08-11 22:48:48] Ultrasick at gmx dot de So do I also need to add a "&" before the "$my_array" to make changes in array and not in a copy of the array? Like this: array_walk(&$my_array, 'my_function', &$my_variable); [2008-08-11 18:23:34] [EMAIL PROTECTED] [2008-08-11 18:22:29] [EMAIL PROTECTED] This is expected. > array_walk($my_array, 'my_function', $my_variable); The variable is passed by reference to my_function(), you can verify that by adding an echo in the function. But as you did not passed $my_variable by reference, array_walk() uses its own copy of $my_variable, and this is that copy which is passed to my_function(). So you need to pass it explicitly by reference to array_walk(). [2008-08-11 03:45:45] Ultrasick at gmx dot de Description: The function "array_walk" ignores to pass the reference and passes the content instead for the parameter "userdata" if the "&" isn't written inside the "array_walk()" but inside the function definition ("function somename(&$value, &$key, &$userdata)"). This doesn't work for the "userdata"-parameter but it does work for the "value" and the "key"-parameter. Have a look at the code at the bottom and the expected and the actual result. Now compare what would happen if you would call "my_function" manually by using my_function($any_value, $any_key, $my_variable); echo $my_variable; and then using my_function($any_value, $any_key, &$my_variable); echo $my_variable; In both cases $my_variable would be increased, of course. So in my oppinion the userdata-problem it's not just inconsistency. It's a bug because a part of the function definition is beeing ignored. Reproduce code: --- '; array_walk($my_array, 'my_function', &$my_variable); echo $my_variable; ?> Expected result: expected output: 4 --- 4 Actual result: -- actual output: 1 --- 4 -- Edit this bug report at http://bugs.php.net/?id=45780&edit=1
#45781 [Bgs]: request: more than 1 parameter for userdata in function "array_walk"
ID: 45781 User updated by: Ultrasick at gmx dot de -Summary: array is only a work around but no solution Reported By: Ultrasick at gmx dot de Status: Bogus Bug Type: Feature/Change Request Operating System: irrelevant PHP Version: 5.2.6 New Comment: sorry, didn't want to change the summary Previous Comments: [2008-08-11 23:00:34] Ultrasick at gmx dot de yes I am doing that at the moment as a work-around ... packing the data in an array and unpacking it again inside the function. But why is this a bogus feature request? [2008-08-11 18:57:09] [EMAIL PROTECTED] You can simply use an array for your data items... [2008-08-11 03:56:38] Ultrasick at gmx dot de changed summary because of wrong word in it [2008-08-11 03:55:27] Ultrasick at gmx dot de Description: The syntax of the function "array_walk" is currently as below: bool array_walk(array &$array, callback $funcname [, mixed $userdata]) It would be an improvement if there would be more than 1 parameter for the user data available. Similar like for the array_merge function: bool array_walk(array &$array, callback $funcname [, mixed $userdata1 [, mixed $userdata2 [, mixed $...]]]) -- Edit this bug report at http://bugs.php.net/?id=45781&edit=1
#45781 [Bgs]: array is only a work around but no solution
ID: 45781 User updated by: Ultrasick at gmx dot de -Summary: request: more than 1 parameter for userdata in function "array_walk" Reported By: Ultrasick at gmx dot de Status: Bogus Bug Type: Feature/Change Request Operating System: irrelevant PHP Version: 5.2.6 New Comment: yes I am doing that at the moment as a work-around ... packing the data in an array and unpacking it again inside the function. But why is this a bogus feature request? Previous Comments: [2008-08-11 18:57:09] [EMAIL PROTECTED] You can simply use an array for your data items... [2008-08-11 03:56:38] Ultrasick at gmx dot de changed summary because of wrong word in it [2008-08-11 03:55:27] Ultrasick at gmx dot de Description: The syntax of the function "array_walk" is currently as below: bool array_walk(array &$array, callback $funcname [, mixed $userdata]) It would be an improvement if there would be more than 1 parameter for the user data available. Similar like for the array_merge function: bool array_walk(array &$array, callback $funcname [, mixed $userdata1 [, mixed $userdata2 [, mixed $...]]]) -- Edit this bug report at http://bugs.php.net/?id=45781&edit=1
#45791 [NEW]: json_decode does not handle number 0e0
From: php at rjbs dot manxome dot org Operating system: Mac OS 10.5 PHP version: 5.2.6 PHP Bug Type: JSON related Bug description: json_decode does not handle number 0e0 Description: as a number literal, 0e0 is valid JSON. json_decode translates it into NULL Reproduce code: --- ~$ php Expected result: something like: object(stdClass)#1 (1) { ["zero"]=> float(0) } Actual result: -- NULL -- Edit bug report at http://bugs.php.net/?id=45791&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45791&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45791&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45791&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45791&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45791&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45791&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=45791&r=needscript Try newer version:http://bugs.php.net/fix.php?id=45791&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45791&r=support Expected behavior:http://bugs.php.net/fix.php?id=45791&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45791&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45791&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45791&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45791&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45791&r=dst IIS Stability:http://bugs.php.net/fix.php?id=45791&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45791&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45791&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45791&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=45791&r=mysqlcfg
#45780 [Bgs]: why is it only expected for the user data parameter?
ID: 45780 User updated by: Ultrasick at gmx dot de -Summary: array_walk ignores to pass reference if & is in function definition at userdata Reported By: Ultrasick at gmx dot de Status: Bogus Bug Type: Scripting Engine problem Operating System: probably any PHP Version: 5.2.6 New Comment: So do I also need to add a "&" before the "$my_array" to make changes in array and not in a copy of the array? Like this: array_walk(&$my_array, 'my_function', &$my_variable); Previous Comments: [2008-08-11 18:23:34] [EMAIL PROTECTED] [2008-08-11 18:22:29] [EMAIL PROTECTED] This is expected. > array_walk($my_array, 'my_function', $my_variable); The variable is passed by reference to my_function(), you can verify that by adding an echo in the function. But as you did not passed $my_variable by reference, array_walk() uses its own copy of $my_variable, and this is that copy which is passed to my_function(). So you need to pass it explicitly by reference to array_walk(). [2008-08-11 03:45:45] Ultrasick at gmx dot de Description: The function "array_walk" ignores to pass the reference and passes the content instead for the parameter "userdata" if the "&" isn't written inside the "array_walk()" but inside the function definition ("function somename(&$value, &$key, &$userdata)"). This doesn't work for the "userdata"-parameter but it does work for the "value" and the "key"-parameter. Have a look at the code at the bottom and the expected and the actual result. Now compare what would happen if you would call "my_function" manually by using my_function($any_value, $any_key, $my_variable); echo $my_variable; and then using my_function($any_value, $any_key, &$my_variable); echo $my_variable; In both cases $my_variable would be increased, of course. So in my oppinion the userdata-problem it's not just inconsistency. It's a bug because a part of the function definition is beeing ignored. Reproduce code: --- '; array_walk($my_array, 'my_function', &$my_variable); echo $my_variable; ?> Expected result: expected output: 4 --- 4 Actual result: -- actual output: 1 --- 4 -- Edit this bug report at http://bugs.php.net/?id=45780&edit=1
#45789 [Bgs]: Silent crash on duplicate method
ID: 45789 Updated by: [EMAIL PROTECTED] Reported By: DikMax at gmail dot com Status: Bogus Bug Type: Class/Object related Operating System: WinXP sp3 PHP Version: 5.2.6 New Comment: verify, using phpinfo(), that you're editing the correct php.ini and are not overwriting the settings somewhere. Previous Comments: [2008-08-11 22:12:43] DikMax at gmail dot com Ok. Maybe I wrote bad example. I have next options in php.ini: error_reporting = E_ALL | E_STRICT display_errors = On display_startup_errors = On log_errors = On and it still produce no output (in Apache's error.log or browser window). First time I saw this thing when use include_once to other file. And PHP silently stops running on include class with duplicate methods. [2008-08-11 21:53:05] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php Please enable error reporting in your server, then you get a "Fatal error: Cannot redeclare ClassName::method()". Setting this in the script doesn'T work as the error is generated before the script executes. [2008-08-11 21:38:35] DikMax at gmail dot com Description: When write two methods with same name in one class PHP doesn't produce any error. It just silently stops processing on include Reproduce code: --- http://bugs.php.net/?id=45789&edit=1
#45181 [Opn->Csd]: chdir() should clear relative entries in stat cache
ID: 45181 Updated by: [EMAIL PROTECTED] Reported By: webmaster at villagersonline dot com -Status: Open +Status: Closed Bug Type: Filesystem function related Operating System: Linux PHP Version: 5.2.5 New Comment: This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: [2008-06-04 18:54:13] webmaster at villagersonline dot com Description: If you check a relative pathname with is_dir(), the result is cached. However, chdir() does not invalidate that cache. Thus, after a chdir(), is_dir() using the same relative pathname gives invalid results. NOTE: In truth, I'm running PHP 5.2.5, not 5.2.6. But this is on a professional hosting service, and I can't control the version. Reproduce code: --- Expected result: bool(true) bool(false) bool(false) bool(false) Actual result: -- bool(true) bool(true) bool(false) bool(false) -- Edit this bug report at http://bugs.php.net/?id=45181&edit=1
#45789 [Bgs]: Silent crash on duplicate method
ID: 45789 User updated by: DikMax at gmail dot com Reported By: DikMax at gmail dot com Status: Bogus Bug Type: Class/Object related Operating System: WinXP sp3 PHP Version: 5.2.6 New Comment: Ok. Maybe I wrote bad example. I have next options in php.ini: error_reporting = E_ALL | E_STRICT display_errors = On display_startup_errors = On log_errors = On and it still produce no output (in Apache's error.log or browser window). First time I saw this thing when use include_once to other file. And PHP silently stops running on include class with duplicate methods. Previous Comments: [2008-08-11 21:53:05] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php Please enable error reporting in your server, then you get a "Fatal error: Cannot redeclare ClassName::method()". Setting this in the script doesn'T work as the error is generated before the script executes. [2008-08-11 21:38:35] DikMax at gmail dot com Description: When write two methods with same name in one class PHP doesn't produce any error. It just silently stops processing on include Reproduce code: --- http://bugs.php.net/?id=45789&edit=1
#45789 [Opn->Bgs]: Silent crash on duplicate method
ID: 45789 Updated by: [EMAIL PROTECTED] Reported By: DikMax at gmail dot com -Status: Open +Status: Bogus Bug Type: Class/Object related Operating System: WinXP sp3 PHP Version: 5.2.6 New Comment: Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php Please enable error reporting in your server, then you get a "Fatal error: Cannot redeclare ClassName::method()". Setting this in the script doesn'T work as the error is generated before the script executes. Previous Comments: [2008-08-11 21:38:35] DikMax at gmail dot com Description: When write two methods with same name in one class PHP doesn't produce any error. It just silently stops processing on include Reproduce code: --- http://bugs.php.net/?id=45789&edit=1
#45790 [NEW]: strtoupper() does not work on vowels with accents
From: zsheran at gmail dot com Operating system: Linux Debian Etch PHP version: 5.2.6 PHP Bug Type: Strings related Bug description: strtoupper() does not work on vowels with accents Description: when using strtoupper() it does not affect vowels with accents, such as é, ó or í. Reproduce code: --- echo strtoupper('aeiou-áéíóú'); Expected result: AEIOU-ÁÉÍÓÚ Actual result: -- AEIOU-áéíóú -- Edit bug report at http://bugs.php.net/?id=45790&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45790&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45790&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45790&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45790&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45790&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45790&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=45790&r=needscript Try newer version:http://bugs.php.net/fix.php?id=45790&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45790&r=support Expected behavior:http://bugs.php.net/fix.php?id=45790&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45790&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45790&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45790&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45790&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45790&r=dst IIS Stability:http://bugs.php.net/fix.php?id=45790&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45790&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45790&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45790&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=45790&r=mysqlcfg
#45789 [NEW]: Silent crash on duplicate method
From: DikMax at gmail dot com Operating system: WinXP sp3 PHP version: 5.2.6 PHP Bug Type: Class/Object related Bug description: Silent crash on duplicate method Description: When write two methods with same name in one class PHP doesn't produce any error. It just silently stops processing on include Reproduce code: --- http://bugs.php.net/?id=45789&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45789&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45789&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45789&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45789&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45789&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45789&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=45789&r=needscript Try newer version:http://bugs.php.net/fix.php?id=45789&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45789&r=support Expected behavior:http://bugs.php.net/fix.php?id=45789&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45789&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45789&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45789&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45789&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45789&r=dst IIS Stability:http://bugs.php.net/fix.php?id=45789&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45789&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45789&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45789&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=45789&r=mysqlcfg
#45467 [Ver]: Invoking dynamic method name within class segfaults
ID: 45467 Updated by: [EMAIL PROTECTED] Reported By: thijs dot wijnmaalen at gmail dot com Status: Verified Bug Type: Scripting Engine problem Operating System: * PHP Version: 5.2CVS, 5.3CVS (2008-07-09) New Comment: > return $this->$this->_[0](); Here PHP will try to read the property $this->$this. So it will try to convert $this to a string, which will call __toString(), etc and it crashes. This is basically the same as the following code: Previous Comments: [2008-07-10 10:27:22] [EMAIL PROTECTED] It actually crashes, here's relevant part from valgrind: ==1178== Process terminating with default action of signal 11 (SIGSEGV) ==1178== Access not within mapped region at address 0xBE1A0FFC ==1178==at 0x823AF25: zend_get_property_info (zend_object_handlers.c:179) ==1178== Stack overflow in thread 1: can't grow stack to 0xBE1A0FF8 And this is the gdb output (relevant parts): execute (op_array=0x8aad87c) at /home/jani/src/php-5.2/Zend/zend_vm_execute.h:53 53 memset(EX(CVs), 0, sizeof(zval**) * op_array->last_var); The full backtrace is a bit too long to paste here. [2008-07-09 13:28:01] thijs dot wijnmaalen at gmail dot com Description: When accessing a method within or from another class, whereby the name is stored as value in an array as attribute in the class. The proper way of doing this would be to enclose the method name in brackets (which works as expected): return $this->{$this->_[0]}(); Reproduce code: --- _[0] = 'a'; return $this->$this->_[0](); } function a () { return 'call'; } } echo $a = new A(); ?> Expected result: Syntax error message Actual result: -- Empty reply from server -- Edit this bug report at http://bugs.php.net/?id=45467&edit=1
#45781 [Opn->Bgs]: request: more than 1 parameter for userdata in function "array_walk"
ID: 45781 Updated by: [EMAIL PROTECTED] Reported By: Ultrasick at gmx dot de -Status: Open +Status: Bogus Bug Type: Feature/Change Request Operating System: irrelevant PHP Version: 5.2.6 New Comment: You can simply use an array for your data items... Previous Comments: [2008-08-11 03:56:38] Ultrasick at gmx dot de changed summary because of wrong word in it [2008-08-11 03:55:27] Ultrasick at gmx dot de Description: The syntax of the function "array_walk" is currently as below: bool array_walk(array &$array, callback $funcname [, mixed $userdata]) It would be an improvement if there would be more than 1 parameter for the user data available. Similar like for the array_merge function: bool array_walk(array &$array, callback $funcname [, mixed $userdata1 [, mixed $userdata2 [, mixed $...]]]) -- Edit this bug report at http://bugs.php.net/?id=45781&edit=1
#45788 [NEW]: fgetcsv retuns NULL on warning instead of false
From: steven at realestatewebmasters dot com Operating system: Linux PHP version: 5.2.6 PHP Bug Type: Filesystem function related Bug description: fgetcsv retuns NULL on warning instead of false Description: fgetcsv returns null if passed false as the handle. This should cause and error instead of a warning and cause the function to return false. Reproduce code: --- Expected result: Warning: fopen(foo): failed to open stream: No such file or directory in /home/sbarre85/test.php on line 3 Warning: fgetcsv() expects parameter 1 to be resource, boolean given in /home/sbarre85/test.php on line 5 bool(false) Error: fgetcsv() expects parameter 1 to be resource, boolean given in /home/sbarre85/test.php on line 7 Actual result: -- Warning: fopen(foo): failed to open stream: No such file or directory in /home/sbarre85/test.php on line 3 Warning: fgetcsv() expects parameter 1 to be resource, boolean given in /home/sbarre85/test.php on line 5 NULL Warning: fgetcsv() expects parameter 1 to be resource, boolean given in /home/sbarre85/test.php on line 7 test .. looping infinitly -- Edit bug report at http://bugs.php.net/?id=45788&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45788&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45788&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45788&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45788&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45788&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45788&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=45788&r=needscript Try newer version:http://bugs.php.net/fix.php?id=45788&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45788&r=support Expected behavior:http://bugs.php.net/fix.php?id=45788&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45788&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45788&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45788&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45788&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45788&r=dst IIS Stability:http://bugs.php.net/fix.php?id=45788&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45788&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45788&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45788&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=45788&r=mysqlcfg
#45780 [Opn->Bgs]: array_walk ignores to pass reference if & is in function definition at userdata
ID: 45780 Updated by: [EMAIL PROTECTED] Reported By: Ultrasick at gmx dot de -Status: Open +Status: Bogus Bug Type: Scripting Engine problem Operating System: probably any PHP Version: 5.2.6 New Comment: Previous Comments: [2008-08-11 18:22:29] [EMAIL PROTECTED] This is expected. > array_walk($my_array, 'my_function', $my_variable); The variable is passed by reference to my_function(), you can verify that by adding an echo in the function. But as you did not passed $my_variable by reference, array_walk() uses its own copy of $my_variable, and this is that copy which is passed to my_function(). So you need to pass it explicitly by reference to array_walk(). [2008-08-11 03:45:45] Ultrasick at gmx dot de Description: The function "array_walk" ignores to pass the reference and passes the content instead for the parameter "userdata" if the "&" isn't written inside the "array_walk()" but inside the function definition ("function somename(&$value, &$key, &$userdata)"). This doesn't work for the "userdata"-parameter but it does work for the "value" and the "key"-parameter. Have a look at the code at the bottom and the expected and the actual result. Now compare what would happen if you would call "my_function" manually by using my_function($any_value, $any_key, $my_variable); echo $my_variable; and then using my_function($any_value, $any_key, &$my_variable); echo $my_variable; In both cases $my_variable would be increased, of course. So in my oppinion the userdata-problem it's not just inconsistency. It's a bug because a part of the function definition is beeing ignored. Reproduce code: --- '; array_walk($my_array, 'my_function', &$my_variable); echo $my_variable; ?> Expected result: expected output: 4 --- 4 Actual result: -- actual output: 1 --- 4 -- Edit this bug report at http://bugs.php.net/?id=45780&edit=1
#45780 [Opn]: array_walk ignores to pass reference if & is in function definition at userdata
ID: 45780 Updated by: [EMAIL PROTECTED] Reported By: Ultrasick at gmx dot de Status: Open Bug Type: Scripting Engine problem Operating System: probably any PHP Version: 5.2.6 New Comment: This is expected. > array_walk($my_array, 'my_function', $my_variable); The variable is passed by reference to my_function(), you can verify that by adding an echo in the function. But as you did not passed $my_variable by reference, array_walk() uses its own copy of $my_variable, and this is that copy which is passed to my_function(). So you need to pass it explicitly by reference to array_walk(). Previous Comments: [2008-08-11 03:45:45] Ultrasick at gmx dot de Description: The function "array_walk" ignores to pass the reference and passes the content instead for the parameter "userdata" if the "&" isn't written inside the "array_walk()" but inside the function definition ("function somename(&$value, &$key, &$userdata)"). This doesn't work for the "userdata"-parameter but it does work for the "value" and the "key"-parameter. Have a look at the code at the bottom and the expected and the actual result. Now compare what would happen if you would call "my_function" manually by using my_function($any_value, $any_key, $my_variable); echo $my_variable; and then using my_function($any_value, $any_key, &$my_variable); echo $my_variable; In both cases $my_variable would be increased, of course. So in my oppinion the userdata-problem it's not just inconsistency. It's a bug because a part of the function definition is beeing ignored. Reproduce code: --- '; array_walk($my_array, 'my_function', &$my_variable); echo $my_variable; ?> Expected result: expected output: 4 --- 4 Actual result: -- actual output: 1 --- 4 -- Edit this bug report at http://bugs.php.net/?id=45780&edit=1
#45763 [Csd]: mysqli::multi_query does not work with mysqlnd
ID: 45763 User updated by: michael dot kofler at gmx dot com Reported By: michael dot kofler at gmx dot com Status: Closed Bug Type: MySQLi related Operating System: linux PHP Version: 5.3.0alpha1 Assigned To: johannes New Comment: mysqli: works fine now, thanks! PDO: sorry for the false alarm, another query executed before was the cause Previous Comments: [2008-08-11 12:45:27] [EMAIL PROTECTED] This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. The MySQLi case is fixed, the PDO case works for me with emulated prepared statements. Multi Query isn't supported by MySQL when using native prepared statements. [2008-08-11 08:44:16] [EMAIL PROTECTED] (some debug output from my hacked php5.3 included) [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -i | grep configure Configure Command => './configure' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--with-pdo-mysql=/usr/local/mysql/bin/mysql_config' [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -r '$p = new PDO("mysql:host=localhost;db=test", "root", "root"); $stmt = $p->query("SELECT 1; SELECT 2; SELECT 3"); do { var_dump($stmt->fetchAll(PDO::FETCH_ASSOC)); } while ($stmt->nextRowset());' fetch_value(0) param_str array(1) { [0]=> array(1) { [1]=> string(1) "1" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [2]=> string(1) "2" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [3]=> string(1) "3" } } [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -i | grep configure Configure Command => './configure' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -r '$p = new PDO("mysql:host=localhost;db=test", "root", "root"); $stmt = $p->query("SELECT 1; SELECT 2; SELECT 3"); do { var_dump($stmt->fetchAll(PDO::FETCH_ASSOC)); } while ($stmt->nextRowset());' fetch_value(0) param_str array(1) { [0]=> array(1) { [1]=> string(1) "1" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [2]=> string(1) "2" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [3]=> string(1) "3" } } [2008-08-11 07:56:21] michael dot kofler at gmx dot com also does not work with PDO: $sql = "SELECT 1; SELECT 2; SELECT 3"; $result = $conn->query($sql); do { echo "\n"; $rowset = $result->fetch(PDO::FETCH_NUM); foreach($rowset as $row) { echo "$row[0]"; } } while($result->nextRowset()); Expected result (which I get with libmysql) 1 2 3 Actual result (with myslqnd, apparently only the first SQL command is evaluated) 1 [2008-08-09 07:52:08] [EMAIL PROTECTED] Hmm, I'm wrong its more tricky. More like - first execution fails, second and all after work fine. It does not matter if you use the procedural or OO interface. The test does not catch it because it first does parameter tests (e.g. mysqli_multi_query($link, "") - expected to fail) before it runs a query. And "runs a query" is the second function call. But anyway Johannes, if its not in the inner workings of mysqlnd itself, try to shield Andrey from PHP works. Ulf [2008-08-09 07:34:53] [EMAIL PROTECTED] Works with the procedural interface, use procedural style until fix has been committed. Re-assigning to Johannes. Andrey is busy with non-PHP work at the moment. Johannes please have a look The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/45763 -- Edit this bug report at http://bugs.php.net/?id=45763&edit=1
#40913 [Com]: PDO::PARAM_LOB does not bind to a stream for fetching a BLOB
ID: 40913 Comment by: mattgrdinic at yahoo dot com Reported By: dennis at inmarket dot lviv dot ua Status: Assigned Bug Type: PDO related Operating System: Win XP PHP Version: 5.2.1 Assigned To: wez New Comment: Can verify this with PDO->mssql using 5.2.6 and Windows Server 2003. // Reproduction code: $VIN = $_GET['VIN']; $imageUrl = $_GET['ImageUrl']; $sql_img = "SELECT VIN, Image, ImageUrl FROM ImagesDemo WHERE VIN = :VIN AND ImageUrl = :imageUrl"; $result_img = Database::pdo_prepare_query($sql_img, array(':VIN' => $VIN, ':imageUrl' => $imageUrl)); $result_img->bindColumn('Image', $lob, PDO::PARAM_LOB); $result_img->fetch(PDO::FETCH_BOUND); header("Content-type: image/pjpeg"); var_dump($lob); // string(4096) + raw image data fpassthru($lob); // this call fails with 'supplied argument is not a valid stream resource' echo $lob; // this call only spits out 4096 bytes, chopping the image off End result -- unable to use pdo for blobs. Previous Comments: [2008-06-01 13:00:40] mail at matya dot hu I am using PHP 5.2.6 with MySQL 5.0.51b, and the problem is still present. Reproduce code: --- $sql = "SELECT FileData FROM UserFile WHERE ID=?"; $stmt = $DB->prepare($sql); $stmt->execute(array($FileID)); $stmt->bindColumn(1, $data, PDO::PARAM_LOB); $stmt->fetch(PDO::FETCH_BOUND); echo gettype($data); Expected result: resource Actual result: -- string [2008-06-01 12:56:18] mail at matya dot hu I am using PHP 5.2.6 with MySQL 5.0.51b, and the problem is still present. Reproduce code: --- $sql = "SELECT FileName, ContentType, Size, FileData FROM `" . File::getTableName() . "` WHERE ID=?"; $stmt = $this->_DB->prepare($sql); $stmt->execute(array($FileID)); $stmt->bindColumn(1, $name, PDO::PARAM_STR, 255); $stmt->bindColumn(2, $type, PDO::PARAM_STR, 255); $stmt->bindColumn(3, $size, PDO::PARAM_INT); $stmt->bindColumn(4, $data, PDO::PARAM_LOB); Expected result: [2007-06-19 19:06:08] hans at velum dot net I believe this is probably the same issue, but I also notice that using MySQL to simply execute a SQL query which contains BLOB result columns is also returning strings instead of streams. The difference being that I'm not using bindColumn() and specifying PDO::PARAM_LOB. I wouldn't expect that I'd need to, since simply performing a standard fetch() works as expected w/ Postgres (and, I believe, Oracle). [2007-03-25 12:29:07] dennis at inmarket dot lviv dot ua Description: PDOStatement::bindColumn($idx, $var, PDO::PARAM_LOB) for SELECT query makes $var a string with the BLOB Data rather than a stream, for both MySQL and SQLite. Reproduce code: --- $id = (int)$_REQUEST['book']; $stmt = $conn->prepare("SELECT coverMime, coverImage FROM books WHERE id=$id"); $stmt->execute(); $stmt->bindColumn(1, $mime); $stmt->bindColumn(2, $image, PDO::PARAM_LOB); $stmt->fetch(PDO::FETCH_BOUND); var_dump($image); Expected result: Resource #1 Actual result: -- String(792) {GIF89a...} -- Edit this bug report at http://bugs.php.net/?id=40913&edit=1
#45786 [Opn]: FastCGI process exited unexpectedly
ID: 45786 User updated by: karelevzen at gmail dot com Reported By: karelevzen at gmail dot com Status: Open Bug Type: IIS related -Operating System: Windows Vista Ultimate x64 +Operating System: Windows Vista Ultimate x64 SP1 -PHP Version: 5.3.0alpha1 +PHP Version: 5.3CVS-2008-08-10 (CVS) New Comment: may be related to bug 45630 Previous Comments: [2008-08-11 13:48:32] karelevzen at gmail dot com Description: When you run PHP as a FastCGI module under IIS 7.0 (Windows Vista Ultimate x64) you get an error "FastCGI process exited unexpectedly" every time you visit a PHP page. The page contents loads OK, but after a second or so you get this error (a GUI message). Until you receive the message, the browser seems to be loading something (this could mean that the request wasn't handled well). Also, I've noticed that I have Configuration File (php.ini) set to C:\Windows, while the file is correctly loaded from C:\bin32\php\php.ini Everything works OK with the 2.5.6 nts build. Reproduce code: --- Expected result: No error message. Actual result: -- Faulting module name: php-cgi.exe Exception code: c005 Exception offset: 5604 -- Edit this bug report at http://bugs.php.net/?id=45786&edit=1
#45767 [Opn]: Wording mistake: "Next exception" is "Previous exception" really
ID: 45767 User updated by: david at grudl dot com Reported By: david at grudl dot com Status: Open Bug Type: Feature/Change Request Operating System: * PHP Version: 5.3.0alpha1 New Comment: This is not only simple wording change, but order change. $e is instance of HighException (!) $e has any inner/previous exception echo $e prints: exception 'LowException' with message ... blah, blah, blah ... ... HighException prints LowException at first line - it is not expectable. Stack traces are printed in reverse order, because it is preferable. Exceptions should be printed in reverse order too. Previous Comments: [2008-08-11 15:18:33] [EMAIL PROTECTED] At the end it is just a wording problem. "Next exception" should be "Previous exception" (which makes sense, than the method is called getPrevious()). Simple wording change, accepting it. [2008-08-11 15:03:57] david at grudl dot com This is not bug, of course, this is feature request. [2008-08-10 09:54:40] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php You're assigning an object to a variable, then overwrite the variable with another and then echoing the variable holding the second object... [2008-08-10 08:39:32] david at grudl dot com Reproduce code: Expected result: exception 'HighException' with message 'Missing configuration.' in test.php:13 Stack trace: #0 {main} Previous exception (or "Caused by") 'LowException' with message 'File not found.' in test.php:11 Stack trace: #0 {main} Actual result: --- exception 'LowException' with message 'File not found.' in test.php:11 Stack trace: #0 {main} Next exception 'HighException' with message 'Missing configuration.' in test.php:13 Stack trace: #0 {main} Description: The first (and most appealing) line of textual output begins with "exception 'LowException' with message ...", but the printed exception is 'HighException'. This order makes output less evident. [2008-08-09 20:45:15] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. Your code handles an exception, throws a new one, which results in an "Fatal error: Uncaught exception", neither what you expect nor your actual code, please provide a proper reproduce case and explain the issue. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/45767 -- Edit this bug report at http://bugs.php.net/?id=45767&edit=1
#45338 [Com]: PHP 5.2.6 does not connect to MySQL
ID: 45338 Comment by: abdullah dot a at gmail dot com Reported By: tpeterson at americaschoice dot org Status: Assigned Bug Type: Dynamic loading Operating System: Windows NT PHP Version: 5.2.6 Assigned To: jmetric New Comment: Copy php.ini from the new installation to C:\WINDOWS and overwrite the php.ini present there. Previous Comments: [2008-07-31 19:15:34] tpeterson at americaschoice dot org OK. I found a blank WIndows XP box. Installed Apache and then PHP (your installer). This time I could not get PHP to work. I tried everything. Even the Apache syntax was ok. So I got the PHP.ini file from another machine where the WAMP worked and overwrote the new install's php.ini file. Restarted PHP and PHP worked. I have not had time to set up MySQL. But there is definitely something wrong with the installer for the latest PHP build. Also, I noted that all the exentions were once again uncommented in the php.ini file. No one should/would have all those extensions turned on, at least for security reasons. Also, the problem with the MySQL was because you said you no longer supported it and it had to be uncommented out. So why does the installer install it pre-uncommented? There is something whack about that build. [2008-07-14 13:26:57] tpeterson at americaschoice dot org Thanks, SWilliams, for the comment. I did do that. I checked the path and rechecked it . . . actually I double and triple checked everything. My students also did so many installs/uninstalls/checks that on the evaluation they suggested it be installed for the next class before the class begins (which I will do and just distribute a hand out on how to set up their own environments at home or work). I will in the next few weeks install this on a brand new machine that has never had anything installed on it, including but not limited to PHP, MySQL, and Apache, and see what results I get. [2008-07-12 17:10:20] swilliams at csc dot edu Make sure that you have set your path environment variable to include your php and php extensions directory. I ran into the same problem, and after I adjusted my path variable, I restarted my computer and everything worked fine. Hope this helps. [2008-07-03 19:53:08] tpeterson at americaschoice dot org I searched for all old mysql .dll files as the documentation said and for all .ini files. I deleted any old ones. I restarted--the computer and the server. I did this so many times. I was as thorough with this as possible. Also, during the class that I taught, this was the first install as this was the first PHP class. It wasn't just me and my laptop. I also used a work laptop. It was all the students in that class. Even students who did this at home with your installer, after the class was over, couldn't get it to work. So this is not an old ini issue. The ini that was used was the one that your installer set up. And as I said the ini that your installer installed on the systems had everything uncommented. If MySQL, for instance, is not supported why was everything, including the MySQL extension uncommented upon a base install? First install? Anyway, I already thought of this and verified the ini used was the one that I was edited. I will find yet another clean laptop and install the WAMP stack on it with this installer and see if there is still an issue. [2008-07-02 11:43:52] [EMAIL PROTECTED] It just means that PHP is actually using different (old?) php.ini file than the one you're editing. Check from phpinfo() output what the actual _loaded_ php.ini file is. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/45338 -- Edit this bug report at http://bugs.php.net/?id=45338&edit=1
#45767 [Bgs->Opn]: Uncommon order and chained exceptions
ID: 45767 Updated by: [EMAIL PROTECTED] Reported By: david at grudl dot com -Status: Bogus +Status: Open Bug Type: Feature/Change Request Operating System: * PHP Version: 5.3.0alpha1 New Comment: At the end it is just a wording problem. "Next exception" should be "Previous exception" (which makes sense, than the method is called getPrevious()). Simple wording change, accepting it. Previous Comments: [2008-08-11 15:03:57] david at grudl dot com This is not bug, of course, this is feature request. [2008-08-10 09:54:40] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php You're assigning an object to a variable, then overwrite the variable with another and then echoing the variable holding the second object... [2008-08-10 08:39:32] david at grudl dot com Reproduce code: Expected result: exception 'HighException' with message 'Missing configuration.' in test.php:13 Stack trace: #0 {main} Previous exception (or "Caused by") 'LowException' with message 'File not found.' in test.php:11 Stack trace: #0 {main} Actual result: --- exception 'LowException' with message 'File not found.' in test.php:11 Stack trace: #0 {main} Next exception 'HighException' with message 'Missing configuration.' in test.php:13 Stack trace: #0 {main} Description: The first (and most appealing) line of textual output begins with "exception 'LowException' with message ...", but the printed exception is 'HighException'. This order makes output less evident. [2008-08-09 20:45:15] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. Your code handles an exception, throws a new one, which results in an "Fatal error: Uncaught exception", neither what you expect nor your actual code, please provide a proper reproduce case and explain the issue. [2008-08-08 17:15:27] david at grudl dot com Sorry - Expected result is Actual and Actual is Expected. The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/45767 -- Edit this bug report at http://bugs.php.net/?id=45767&edit=1
#45767 [Bgs]: Uncommon order and chained exceptions
ID: 45767 User updated by: david at grudl dot com Reported By: david at grudl dot com Status: Bogus -Bug Type: Scripting Engine problem +Bug Type: Feature/Change Request Operating System: * PHP Version: 5.3.0alpha1 New Comment: This is not bug, of course, this is feature request. Previous Comments: [2008-08-10 09:54:40] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php You're assigning an object to a variable, then overwrite the variable with another and then echoing the variable holding the second object... [2008-08-10 08:39:32] david at grudl dot com Reproduce code: Expected result: exception 'HighException' with message 'Missing configuration.' in test.php:13 Stack trace: #0 {main} Previous exception (or "Caused by") 'LowException' with message 'File not found.' in test.php:11 Stack trace: #0 {main} Actual result: --- exception 'LowException' with message 'File not found.' in test.php:11 Stack trace: #0 {main} Next exception 'HighException' with message 'Missing configuration.' in test.php:13 Stack trace: #0 {main} Description: The first (and most appealing) line of textual output begins with "exception 'LowException' with message ...", but the printed exception is 'HighException'. This order makes output less evident. [2008-08-09 20:45:15] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. Your code handles an exception, throws a new one, which results in an "Fatal error: Uncaught exception", neither what you expect nor your actual code, please provide a proper reproduce case and explain the issue. [2008-08-08 17:15:27] david at grudl dot com Sorry - Expected result is Actual and Actual is Expected. [2008-08-08 17:13:33] david at grudl dot com Description: Chained exceptions are printed in uncommon order (from inner to outer exception). This makes me confused :-( Reference: http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Throwable.html#printStackTrace() Reproduce code: --- try { throw new FileNotFoundException("File not found."); } catch (FileNotFoundException $e) { throw new ConfigException("Missing configuration.", 0, $e); } echo $e; // note $e is ConfigException! Expected result: exception 'FileNotFoundException' with message 'File not found.' in demo.php:8 Stack trace: #0 demo.php(17): ... #1 {main} Next exception 'ConfigException' with message 'Missing configuration.' in demo.php:21 Stack trace: #0 demo.php(28): #1 {main} Actual result: -- exception 'ConfigException' with message 'Missing configuration.' in demo.php:21 Stack trace: #0 demo.php(28): #1 {main} previous exception 'FileNotFoundException' with message 'File not found.' in demo.php:8 Stack trace: #0 demo.php(17): ... #1 {main} -- Edit this bug report at http://bugs.php.net/?id=45767&edit=1
#45787 [Opn->Bgs]: Shorthand array notation
ID: 45787 Updated by: [EMAIL PROTECTED] Reported By: icyliquid at gmail dot com -Status: Open +Status: Bogus Bug Type: Feature/Change Request Operating System: All PHP Version: 5.2.6 New Comment: This has been discussed in the past and was declined. See http://wiki.php.net/rfc/shortsyntaxforarrays for details. Previous Comments: [2008-08-11 14:50:01] icyliquid at gmail dot com Description: After a year of heavy Javascript coding, my return to PHP has been marked with mixed feelings. One thing bothering me is (what seems to me to be) the cumbersome array syntax of PHP. Javascript has: var arr = [ 'foo', 'bar', 'baz' ... ]; Obviously, PHP supports associative arrays and Javascript coders have to resort their language's Object class for achieve that, so perhaps the JS object syntax works better here: var obj = { 'key':'value', 'otherkey':'otherval' ... }; I have found myself passing arrays to methods on an increasingly frequent basis, and I think that a concise syntax like this would go a long way to increasing readability. What do you guys think? -- Edit this bug report at http://bugs.php.net/?id=45787&edit=1
#45787 [NEW]: Shorthand array notation
From: icyliquid at gmail dot com Operating system: All PHP version: 5.2.6 PHP Bug Type: Feature/Change Request Bug description: Shorthand array notation Description: After a year of heavy Javascript coding, my return to PHP has been marked with mixed feelings. One thing bothering me is (what seems to me to be) the cumbersome array syntax of PHP. Javascript has: var arr = [ 'foo', 'bar', 'baz' ... ]; Obviously, PHP supports associative arrays and Javascript coders have to resort their language's Object class for achieve that, so perhaps the JS object syntax works better here: var obj = { 'key':'value', 'otherkey':'otherval' ... }; I have found myself passing arrays to methods on an increasingly frequent basis, and I think that a concise syntax like this would go a long way to increasing readability. What do you guys think? -- Edit bug report at http://bugs.php.net/?id=45787&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45787&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45787&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45787&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45787&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45787&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45787&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=45787&r=needscript Try newer version:http://bugs.php.net/fix.php?id=45787&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45787&r=support Expected behavior:http://bugs.php.net/fix.php?id=45787&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45787&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45787&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45787&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45787&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45787&r=dst IIS Stability:http://bugs.php.net/fix.php?id=45787&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45787&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45787&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45787&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=45787&r=mysqlcfg
#45769 [Fbk->Opn]: Segmentation fault with OCI8
ID: 45769 User updated by: louis dot begin at cspq dot gouv dot qc dot ca Reported By: louis dot begin at cspq dot gouv dot qc dot ca -Status: Feedback +Status: Open Bug Type: OCI8 related Operating System: zVM/Linux PHP Version: 5.2.6 New Comment: That happend with any table, I think that the "OCILogon" function does not return Could be a problem of 32bits/64bits compatibility. Could be a problem of 32bits/64bits compatibility. ./configure --prefix=/logiciels/tldb/php-5.2.6 --with-config-file-path=/logiciels/tldb/php-5.2.6 --with-apxs2=/logiciels/tldb/httpd-2.0.61/bin/apxs --with-oci8=/logiciels/oracle/product/10.2.0.3 --with-pdo-oci8=/logiciels/oracle/product/10.2.0.3 --disable-libxml --disable-dom --disable-simplexml --disable-xml --disable-xmlreader --disable-xmlwriter --without-pear --enable-sigchild (xml is not install on this server) :>echo $NLS_LANG AMERICAN_AMERICA.WE8ISO8859P1 create table dri.client ( code_client varchar2(3) , client varchar2(30) ); insert into dri.client('CAR', 'Carra') ; insert into dri.client('MAM', 'Mamm') ; Previous Comments: [2008-08-09 22:36:04] [EMAIL PROTECTED] Does this happen for all tables? What were the configure options? What is the NLS environment (and how is it set)? Please supply an export file or SQL script to creates a table & data that reproduces the problem. [2008-08-08 19:43:55] louis dot begin at cspq dot gouv dot qc dot ca Description: Envir: Oracle version 10.2.0.3 (64bits) Envir.: zVM Linux Linux Suse SLES10 (64bits) :>uname -a Linux CSIGDSA1 2.6.16.46-0.12-default #1 SMP Thu May 17 14:00:09 UTC 2007 s390x s390x s390x GNU/Linux :>cat /etc/SuSE-release SUSE Linux Enterprise Server 10 (s390x) VERSION = 10 PATCHLEVEL = 1 phpinfo.php works fine When executing "OCILogon(...)" the connection to oracle occurs (listener.log "sees" it), but when returning to to prog.: [Fri Jul 18 09:27:16 2008] [notice] child pid 17963 exit signal Segmentation fault (11) Reproduce code: --- \n"; print date('Y-m-d H:i:s')."\n"; $cmdstr = "select code_client, client from dri.client"; $parsed = OCIParse($conn, $cmdstr); OCIExecute($parsed, OCI_DEFAULT); echo "Oracle Test avec PHP"; echo "Oracle Test avec PHP"; print ''; while ($succ = OCIFetchInto($stid, $row, OCI_RETURN_NULLS)) { print ''; foreach ($row as $item) { print ''.($item?htmlentities($item):' ').''; } print ''; } print ''; echo " Nombre de rangees: $nrows"; echo "Si vous voyez les donnees, ca marche!\n"; OCILogoff($conn); ?> Expected result: The contains of rows from select code_client, client from dri.client (The piece of code comes from: http://www.oracle.com/technology/tech/php/htdocs/inst_php_apache_linux.html with modification to match an existing table. Actual result: -- CSIGDSA1:/parm/oracle/bin # gdb /logiciels/tldb/httpd-2.0.61/bin/httpd GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "s390x-suse-linux"... Using host libthread_db library "/lib64/libthread_db.so.1". (gdb) run -X Starting program: /logiciels/tldb/httpd-2.0.61/bin/httpd -X [Thread debugging using libthread_db enabled] [New Thread 2199026468240 (LWP 9613)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 2199026468240 (LWP 9613)] _zval_ptr_dtor (zval_ptr=0x3bdcb28) at /logiciels/tldb/php/php-5.2.6/Zend/zend_execute_API.c:412 412 (*zval_ptr)->refcount--; (gdb) bt #0 _zval_ptr_dtor (zval_ptr=0x3bdcb28) at /logiciels/tldb/php/php-5.2.6/Zend/zend_execute_API.c:412 #1 0x026094d6 in zend_do_fcall_common_helper_SPEC (execute_data=0x3bdd160) at /logiciels/tldb/php/php-5.2.6/Zend/zend_execute.h:155 #2 0x025f79a2 in execute (op_array=0x20001e41a98) at /logiciels/tldb/php/php-5.2.6/Zend/zend_vm_execute.h:92 #3 0x025d4258 in zend_execute_scripts (type=, retval=0x0, file_count=2) at /logiciels/tldb/php/php-5.2.6/Zend/zend.c:1134 #4 0x0258bd78 in php_execute_script (primary_file=0x3bdf770) at /logiciels/tldb/php/php-5.2.6/main/main.c:2005 #5 0x02667e4c in php_handler (r=0x80270b00) at /logiciels/tldb/php/php-5.2.6/sapi/apache2handler/sapi_apache2.c:629 #6 0x80048e20 in ap_run_handler (r=0x80270b00) at config.c:152 #7 0x8004c33a in ap_invoke_handler (r=0x80270b00) at config.c:364 #8 0x8003615c in ap_process_request (r=0x80270b00) at http_reque
#43639 [Com]: php-5.2.5-win32-installer.msi stops before it is finished.
ID: 43639 Comment by: paour at free dot fr Reported By: erik dot kullberg at telia dot com Status: No Feedback Bug Type: *General Issues Operating System: Windows Vista PHP Version: 5.2.5 New Comment: Hello, same bug in french system (decimal separator is comma) Script run with dot separator. Nicolas Previous Comments: [2008-08-10 03:32:36] davis1089 at mint dot us dot to I can confirm this bug in the installer! My system is Norwegian, and uses , as decimal point, and when i changed regional options to english as "tamasmatrai" pointed out, installer finished successfully. [2008-07-26 19:02:01] tamasmatrai at yahoo dot com Solution!!! I had the same problem on Windows XP. I read the event viewer and found detailed info: "Product: PHP 5.2.6 -- Error 1720. There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor. Custom action configIIS4 script error -2146828275, Microsoft VBScript futásidejû hiba: Típuseltérés: '[string: "5.1"]' Line 179, Column 5, " The key was this: "Típuseltérés: '[string: "5.1"]' Line 179, Column 5, ." 'Típuseltérés' is a Hungarian term, which means 'data type error'. So, '5.1' is not a number in a vb script which is run by the installation. Decimal separator was ',' (comma) on my system and when I changed it to '.' (dot), then installation was completed successfully! So try this! It is a bug and this was the first time I tried to install PHP. After such a problem I will think 1 times if I use PHP. :o I am a programmer and if I would leave such a bug in my application, I would be sacked from my workplace without any doubt. Best Regards: Tamas [2008-07-08 00:13:07] rbsfou at gmail dot com XP Pro SP3: Custom action configIIS4 script error -2146828235, Microsoft VBScript runtime error: File not found Line 182, Column 9 I also cannot do the RunAS trick, as i am on SP3. Does anyone actually use php on iis4 (nt? 98?) nowadays? [2008-05-21 23:20:29] hailstrike at libero dot it It is terrible. I have same problem on Windows 2003 server r2 enterprise sp2 x64 with all updates and IIS6, when I try to install php-5.2.6-win32-installer.msi installer give me same error. [2008-05-08 10:13:12] pomax at nihongoresources dot com installer feature suggestion: add a check to see if VBscript is a registered and running service, and break off the install if it is not detected. This should fix everyone's problems on Vista, Windows Server 2008, as well as XP installs where people decided to turn off any service they do not use themselves. - MK The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/43639 -- Edit this bug report at http://bugs.php.net/?id=43639&edit=1
#45786 [NEW]: FastCGI process exited unexpectedly
From: karelevzen at gmail dot com Operating system: Windows Vista Ultimate x64 PHP version: 5.3.0alpha1 PHP Bug Type: IIS related Bug description: FastCGI process exited unexpectedly Description: When you run PHP as a FastCGI module under IIS 7.0 (Windows Vista Ultimate x64) you get an error "FastCGI process exited unexpectedly" every time you visit a PHP page. The page contents loads OK, but after a second or so you get this error (a GUI message). Until you receive the message, the browser seems to be loading something (this could mean that the request wasn't handled well). Also, I've noticed that I have Configuration File (php.ini) set to C:\Windows, while the file is correctly loaded from C:\bin32\php\php.ini Everything works OK with the 2.5.6 nts build. Reproduce code: --- Expected result: No error message. Actual result: -- Faulting module name: php-cgi.exe Exception code: c005 Exception offset: 5604 -- Edit bug report at http://bugs.php.net/?id=45786&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45786&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45786&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45786&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45786&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45786&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45786&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=45786&r=needscript Try newer version:http://bugs.php.net/fix.php?id=45786&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45786&r=support Expected behavior:http://bugs.php.net/fix.php?id=45786&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45786&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45786&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45786&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45786&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45786&r=dst IIS Stability:http://bugs.php.net/fix.php?id=45786&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45786&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45786&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45786&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=45786&r=mysqlcfg
#45763 [Asn->Csd]: mysqli::multi_query does not work with mysqlnd
ID: 45763 Updated by: [EMAIL PROTECTED] Reported By: michael dot kofler at gmx dot com -Status: Assigned +Status: Closed Bug Type: MySQLi related Operating System: linux PHP Version: 5.3.0alpha1 Assigned To: johannes New Comment: This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. The MySQLi case is fixed, the PDO case works for me with emulated prepared statements. Multi Query isn't supported by MySQL when using native prepared statements. Previous Comments: [2008-08-11 08:44:16] [EMAIL PROTECTED] (some debug output from my hacked php5.3 included) [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -i | grep configure Configure Command => './configure' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--with-pdo-mysql=/usr/local/mysql/bin/mysql_config' [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -r '$p = new PDO("mysql:host=localhost;db=test", "root", "root"); $stmt = $p->query("SELECT 1; SELECT 2; SELECT 3"); do { var_dump($stmt->fetchAll(PDO::FETCH_ASSOC)); } while ($stmt->nextRowset());' fetch_value(0) param_str array(1) { [0]=> array(1) { [1]=> string(1) "1" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [2]=> string(1) "2" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [3]=> string(1) "3" } } [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -i | grep configure Configure Command => './configure' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -r '$p = new PDO("mysql:host=localhost;db=test", "root", "root"); $stmt = $p->query("SELECT 1; SELECT 2; SELECT 3"); do { var_dump($stmt->fetchAll(PDO::FETCH_ASSOC)); } while ($stmt->nextRowset());' fetch_value(0) param_str array(1) { [0]=> array(1) { [1]=> string(1) "1" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [2]=> string(1) "2" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [3]=> string(1) "3" } } [2008-08-11 07:56:21] michael dot kofler at gmx dot com also does not work with PDO: $sql = "SELECT 1; SELECT 2; SELECT 3"; $result = $conn->query($sql); do { echo "\n"; $rowset = $result->fetch(PDO::FETCH_NUM); foreach($rowset as $row) { echo "$row[0]"; } } while($result->nextRowset()); Expected result (which I get with libmysql) 1 2 3 Actual result (with myslqnd, apparently only the first SQL command is evaluated) 1 [2008-08-09 07:52:08] [EMAIL PROTECTED] Hmm, I'm wrong its more tricky. More like - first execution fails, second and all after work fine. It does not matter if you use the procedural or OO interface. The test does not catch it because it first does parameter tests (e.g. mysqli_multi_query($link, "") - expected to fail) before it runs a query. And "runs a query" is the second function call. But anyway Johannes, if its not in the inner workings of mysqlnd itself, try to shield Andrey from PHP works. Ulf [2008-08-09 07:34:53] [EMAIL PROTECTED] Works with the procedural interface, use procedural style until fix has been committed. Re-assigning to Johannes. Andrey is busy with non-PHP work at the moment. Johannes please have a look [2008-08-09 00:21:13] [EMAIL PROTECTED] Assigning to primary maintainer The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/45763 -- Edit this bug report at http://bugs.php.net/?id=45763&edit=1
#45785 [NEW]: Configurable timeout on XMLReader->open()
From: bugzilla-php at roosnl dot com Operating system: Linux PHP version: 5.2.6 PHP Bug Type: Feature/Change Request Bug description: Configurable timeout on XMLReader->open() Description: The Open function of the XMLReader object does not seem to have a configurable timeout. This means that my PHP app seems to 'hang' for 30 seconds while connecting to an external xml source that has an outage. It would be good if it had a configurable timeout so I can set that to a low number, like for example the curl functions or -- Edit bug report at http://bugs.php.net/?id=45785&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=45785&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=45785&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=45785&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=45785&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=45785&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=45785&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=45785&r=needscript Try newer version:http://bugs.php.net/fix.php?id=45785&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=45785&r=support Expected behavior:http://bugs.php.net/fix.php?id=45785&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=45785&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=45785&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=45785&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=45785&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=45785&r=dst IIS Stability:http://bugs.php.net/fix.php?id=45785&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=45785&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=45785&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=45785&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=45785&r=mysqlcfg
#45782 [Opn->Bgs]: New functions require_code/include_code
ID: 45782 Updated by: [EMAIL PROTECTED] Reported By: tristen at netoverdrive dot com dot au -Status: Open +Status: Bogus Bug Type: Feature/Change Request Operating System: all PHP Version: 5.2.6 New Comment: Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Due to the volume of reports we can not explain in detail here why your report is not a bug. The support channels will be able to provide an explanation for you. Thank you for your interest in PHP. There's eval() but use it with care Previous Comments: [2008-08-11 05:40:17] tristen at netoverdrive dot com dot au Description: It would be nice to be able to include code from a variable, ie: $code = array(); $code[] = "$a = 123"; $code[] = "echo $a"; require_code($code); Code generation could then work without first having to output the code to a temporary file and then include it. I know it would be easy enough to write a function to do this but hey: it would make a nice addition to standard PHP. Reproduce code: --- n/a Expected result: n/a Actual result: -- n/a -- Edit this bug report at http://bugs.php.net/?id=45782&edit=1
#45755 [Fbk->Opn]: can't use pipes to deliver script via PATH_TRANSLATED
ID: 45755 User updated by: louis at steelbytes dot com Reported By: louis at steelbytes dot com -Status: Feedback +Status: Open Bug Type: CGI related Operating System: Vista SP1 x64 PHP Version: 5.2.6 New Comment: using a trivial pipes experiment available from http://louis.steelbytes.com/temp/fileAsPipe.zip shell1: fileAsPipe c:\path\test.php \\.\pipe\test shell2: set GATEWAY_INTERFACE=CGI/1.1 set REQUEST_METHOD=GET set PATH_TRANSLATED=\\.\pipe\test set SCRIPT_NAME=test.php php-cgi.exe shell2.output: Status: 404 Not Found X-Powered-By: PHP/5.2.6 Content-type: text/html No input file specified. note: this is arguably not a bug, but really a feature request :) Previous Comments: [2008-08-08 07:52:18] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. It's read by a human, we need a script or C code or at least something we can test with. [2008-08-08 07:31:02] louis at steelbytes dot com is this request for script by a robot? it feels like it. or maybe the bug was skimmed but not read by a human? [2008-08-08 06:42:32] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with , is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. [2008-08-08 06:30:53] louis at steelbytes dot com Description: I'm trying to call php-cgi.exe from inside my app, and I wanted to supply the script via a pipe. so I set the pipe name \\.\pipe\testpipe in PATH_TRANSLATED, but php-cgi.exe won't read from there. it failes in virtual_file_ex() being confused thinking it's a unc path, and skipping the . component, and trying to use FindFirstFile to test if valid. Reproduce code: --- see above Expected result: see above Actual result: -- see above -- Edit this bug report at http://bugs.php.net/?id=45755&edit=1
#45028 [Opn->Asn]: CRC32 output endianness is different between crc32() and hash()
ID: 45028 Updated by: [EMAIL PROTECTED] Reported By: jfrusciante at tiscali dot it -Status: Open +Status: Assigned Bug Type: *Encryption and hash functions Operating System: * PHP Version: 5.2.6 -Assigned To: +Assigned To: mike New Comment: Mike, can you confirm that this patch is correct? http://dev.daylessday.org/diff/bug45028.diff Previous Comments: [2008-05-17 16:03:25] jfrusciante at tiscali dot it Description: When I use dechex() to convert a crc32(), and when I directly use hash("crc32b", ...), I do not get the same output. In particular, the endianness of the hash() output seems inverted. In other words: the output of crc32() seems to be correct in its integer representation (I compared it with Python implementation), but converting it to hexadecimal (with dechex() or with any calculator) produces a hex string inverted in its endianness respect to the output of hash('crc32b', ...) with the same input. Reproduce code: --- printf("dechex(crc32(\"\")): ". dechex(crc32("")). ""); printf("hash(\"crc32b\",\"\"): " .hash("crc32b", "") .""); Expected result: dechex(crc32("")): 79b71c0a hash("crc32b",""): 79b71c0a (or dechex(crc32("")): 0a1cb779 hash("crc32b",""): 0a1cb779 I think the first two are the right ones) Actual result: -- dechex(crc32("")): 79b71c0a hash("crc32b",""): 0a1cb779 Please note that the difference is only in the bytes order. "0a-1c-b7-79" is like "79-b7-1c-0a" with inverted endianness, while both lines should output the same values despite different architectures. -- Edit this bug report at http://bugs.php.net/?id=45028&edit=1
#45761 [Fbk->Opn]: make test & make install failure
ID: 45761 User updated by: a dot sanders at manchester dot ac dot uk Reported By: a dot sanders at manchester dot ac dot uk -Status: Feedback +Status: Open Bug Type: Compile Failure Operating System: Solaris 9 PHP Version: 5.2.6 Assigned To: fb-req-jani New Comment: I downloaded the latest this morning and did ./configure --disable-all make test I compiles okay and then still seg faults when it gets to the test part of make test: ... Build complete. Don't forget to run 'make test'. Segmentation Fault - core dumped make: [test] Error 139 (ignored) Same stuff as before from gdb: #0 0x0010003c in _zval_ptr_dtor (zval_ptr=0x23f1e0) at /home/copacw/php5.2-200808110830/Zend/zend_execute_API.c:412 412 (*zval_ptr)->refcount--; (gdb) print *zval_ptr $1 = (zval *) 0x1 (gdb) I recompiled again with the DEBUG_ZEND=2 flag and got the following result: Build complete. Don't forget to run 'make test'. +---+ | ! ERROR ! | | The test-suite requires that you have pcre extension | | enabled. To enable this extension either compile your PHP | | with --with-pcre-regex or if you've compiled pcre as a| | shared module load it via php.ini.| +---+ So reconfigured and recompiled again with --disbale-all --with-pcre_regex. This time it compiled and got to test 3519 when it again tried to spawn thousands of child processes. It was in danger of consuming all available memory, so I killed it at that point. TEST 3519/3546 [sapi/cgi/tests/001.phpt] Previous Comments: [2008-08-08 18:12:01] [EMAIL PROTECTED] s/options/patches/ :) [2008-08-08 18:11:35] [EMAIL PROTECTED] Get this: http://snaps.php.net/php5.2-latest.tar.gz And do not apply any 3rd party options. And do (exactly) this: # ./configure --disable-all && make test [2008-08-08 11:59:04] a dot sanders at manchester dot ac dot uk Description: 'make test' fails immediately with a segmentation fault. Re-compiling with compiler flag DEBUG_ZEND=2 allows 'make test' to get to test 4399 before spawning several thousand php-cgi children and consuming all the system memory. Actual result: -- Initial configure command was: env LDFLAGS="-R/copac/gcc-4/lib" ./configure --prefix=~/apache- 2_2/ --with-mysql=/home/copacw/mysql5/mysql --with-libxml- dir=/home/copacw/apache-2_2 A 'make test' from the above results in this: huntly copacw/php-5.2.6 $ make test Build complete. Don't forget to run 'make test'. Segmentation Fault - core dumped make: [test] Error 139 (ignored) A backtrace of the core file from the above: #0 0x00220130 in _zval_ptr_dtor (zval_ptr=0x39d8a8) at /home/copacw/php-5.2.6/Zend?/zend_execute_API.c:412 412 (*zval_ptr)->refcount--; (gdb) list 407 ZEND_API void _zval_ptr_dtor(zval **zval_ptr ZEND_FILE_LINE_DC) 408 { 409 #if DEBUG_ZEND>=2 410 printf("Reducing refcount for %x (%x): %d->%d\n", *zval_ptr, zval_ptr, (*zval_ptr)->refcount, (*zval_ptr)- >refcount-1); 411 #endif 412 (*zval_ptr)->refcount--; 413 if ((*zval_ptr)->refcount==0) { 414 zval_dtor(*zval_ptr); 415 safe_free_zval_ptr_rel(*zval_ptr ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC); 416 } else if ((*zval_ptr)->refcount == 1) { (gdb) print *zval_ptr $1 = (zval *) 0x1 I reconfigured by adding CFLAGS="-DDEBUG_ZEND=2" to the start of the configure command, did a 'make clean', then 'make', then 'make test'. This time the 'make test' gets to test 4399 and then fails as below: PASS XMLWriter: libxml2 XML Writer DTD Element & Attlist [ext/xmlwriter/tests/OO_008.phpt] PASS XMLWriter: PI, Comment, CDATA [ext/xmlwriter/tests/OO_009.phpt] PASS Bug #39504 (xmlwriter_write_dtd_entity() creates Attlist tag, not enity) [ext/xmlwriter/tests/bug39504.phpt] PASS Bug #41287 (Namespace functions don't allow xmlns defintion to be optional) [ext/xmlwriter/tests/bug41287.phpt] PASS Bug #41287 (Writing empty tags with Xmlwriter::WriteElement? [ns]) [ext/xmlwriter/tests/bug41326.phpt] TEST 4399/4426 [sapi/cgi/tests/001.phpt] Test 4399 spawned over 4400 php-cgi child processes (on a previous run when I left it to its own devices it kept going until it had consumed all the system memory and swap.) A ps of the process it created is as follows: $ ps -ef | grep php-cgi copacw4037 0 12:22:05 pts/30:00 sh -c /home/copacw/php-5.2.6/sapi/cgi/php-cgi -n -v copacw 29989 29988 0 12:22:
#45758 [Fbk->Bgs]: PHP Scripts not compiled but displayed as regular HTML doc
ID: 45758 Updated by: [EMAIL PROTECTED] Reported By: jimmy at zimliu dot com -Status: Feedback +Status: Bogus Bug Type: *Configuration Issues Operating System: Windows XP PHP Version: 5.2.6 New Comment: Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Due to the volume of reports we can not explain in detail here why your report is not a bug. The support channels will be able to provide an explanation for you. Thank you for your interest in PHP. Previous Comments: [2008-08-08 10:56:45] [EMAIL PROTECTED] Are you using short open tags ? ("http://bugs.php.net/?id=45758&edit=1
#45763 [Asn]: mysqli::multi_query does not work with mysqlnd
ID: 45763 Updated by: [EMAIL PROTECTED] Reported By: michael dot kofler at gmx dot com Status: Assigned Bug Type: MySQLi related Operating System: linux PHP Version: 5.3.0alpha1 Assigned To: johannes New Comment: (some debug output from my hacked php5.3 included) [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -i | grep configure Configure Command => './configure' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--with-pdo-mysql=/usr/local/mysql/bin/mysql_config' [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -r '$p = new PDO("mysql:host=localhost;db=test", "root", "root"); $stmt = $p->query("SELECT 1; SELECT 2; SELECT 3"); do { var_dump($stmt->fetchAll(PDO::FETCH_ASSOC)); } while ($stmt->nextRowset());' fetch_value(0) param_str array(1) { [0]=> array(1) { [1]=> string(1) "1" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [2]=> string(1) "2" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [3]=> string(1) "3" } } [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -i | grep configure Configure Command => './configure' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' [EMAIL PROTECTED]:~/src/php5> sapi/cli/php -r '$p = new PDO("mysql:host=localhost;db=test", "root", "root"); $stmt = $p->query("SELECT 1; SELECT 2; SELECT 3"); do { var_dump($stmt->fetchAll(PDO::FETCH_ASSOC)); } while ($stmt->nextRowset());' fetch_value(0) param_str array(1) { [0]=> array(1) { [1]=> string(1) "1" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [2]=> string(1) "2" } } fetch_value(0) param_str array(1) { [0]=> array(1) { [3]=> string(1) "3" } } Previous Comments: [2008-08-11 07:56:21] michael dot kofler at gmx dot com also does not work with PDO: $sql = "SELECT 1; SELECT 2; SELECT 3"; $result = $conn->query($sql); do { echo "\n"; $rowset = $result->fetch(PDO::FETCH_NUM); foreach($rowset as $row) { echo "$row[0]"; } } while($result->nextRowset()); Expected result (which I get with libmysql) 1 2 3 Actual result (with myslqnd, apparently only the first SQL command is evaluated) 1 [2008-08-09 07:52:08] [EMAIL PROTECTED] Hmm, I'm wrong its more tricky. More like - first execution fails, second and all after work fine. It does not matter if you use the procedural or OO interface. The test does not catch it because it first does parameter tests (e.g. mysqli_multi_query($link, "") - expected to fail) before it runs a query. And "runs a query" is the second function call. But anyway Johannes, if its not in the inner workings of mysqlnd itself, try to shield Andrey from PHP works. Ulf [2008-08-09 07:34:53] [EMAIL PROTECTED] Works with the procedural interface, use procedural style until fix has been committed. Re-assigning to Johannes. Andrey is busy with non-PHP work at the moment. Johannes please have a look [2008-08-09 00:21:13] [EMAIL PROTECTED] Assigning to primary maintainer [2008-08-08 13:44:27] michael dot kofler at gmx dot com Description: mysqli::multi_query returns FALSE if more than one query is given Reproduce code: --- $mysqli = new mysqli($mysqlhost, $mysqluser, $mysqlpasswd, $mysqldb); $sql = "SELECT 1; SELECT 2; SELECT 3"; $ok = $mysqli->multi_query($sql); if($ok === FALSE) { echo $mysqli->error(); } Expected result: non (because $ok === TRUE) (works with mysqli + libmysql) Actual result: -- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; SELECT 2; SELECT 3' at line 1 -- Edit this bug report at http://bugs.php.net/?id=45763&edit=1
#45763 [Asn]: mysqli::multi_query does not work with mysqlnd
ID: 45763 User updated by: michael dot kofler at gmx dot com Reported By: michael dot kofler at gmx dot com Status: Assigned Bug Type: MySQLi related Operating System: linux PHP Version: 5.3.0alpha1 Assigned To: johannes New Comment: also does not work with PDO: $sql = "SELECT 1; SELECT 2; SELECT 3"; $result = $conn->query($sql); do { echo "\n"; $rowset = $result->fetch(PDO::FETCH_NUM); foreach($rowset as $row) { echo "$row[0]"; } } while($result->nextRowset()); Expected result (which I get with libmysql) 1 2 3 Actual result (with myslqnd, apparently only the first SQL command is evaluated) 1 Previous Comments: [2008-08-09 07:52:08] [EMAIL PROTECTED] Hmm, I'm wrong its more tricky. More like - first execution fails, second and all after work fine. It does not matter if you use the procedural or OO interface. The test does not catch it because it first does parameter tests (e.g. mysqli_multi_query($link, "") - expected to fail) before it runs a query. And "runs a query" is the second function call. But anyway Johannes, if its not in the inner workings of mysqlnd itself, try to shield Andrey from PHP works. Ulf [2008-08-09 07:34:53] [EMAIL PROTECTED] Works with the procedural interface, use procedural style until fix has been committed. Re-assigning to Johannes. Andrey is busy with non-PHP work at the moment. Johannes please have a look [2008-08-09 00:21:13] [EMAIL PROTECTED] Assigning to primary maintainer [2008-08-08 13:44:27] michael dot kofler at gmx dot com Description: mysqli::multi_query returns FALSE if more than one query is given Reproduce code: --- $mysqli = new mysqli($mysqlhost, $mysqluser, $mysqlpasswd, $mysqldb); $sql = "SELECT 1; SELECT 2; SELECT 3"; $ok = $mysqli->multi_query($sql); if($ok === FALSE) { echo $mysqli->error(); } Expected result: non (because $ok === TRUE) (works with mysqli + libmysql) Actual result: -- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; SELECT 2; SELECT 3' at line 1 -- Edit this bug report at http://bugs.php.net/?id=45763&edit=1