#43548 [Opn-Fbk]: date() returns incorrect time by +1 hour
ID: 43548 Updated by: [EMAIL PROTECTED] Reported By: andrew at confirmalert dot com dot au -Status: Open +Status: Feedback Bug Type: Date/time related Operating System: Win 2003 Server SP2 PHP Version: 5.2.5 New Comment: Please answer my questions: 1. What is the output of: ?php echo date_default_timezone_get(), \n; ? 2. What is wrong with the PHP 5.2.5 output? Previous Comments: [2007-12-09 23:01:36] andrew at confirmalert dot com dot au Hi Derick. PHP versions up to 5.0.3 were producing a result of '2007-09-24 @ 10:00'. PHP 5.2.5 produces '2007-09-24 @ 11:00' which +1 hour difference. This breaks our online diary system. Cheers. Andrew [2007-12-09 22:23:24] [EMAIL PROTECTED] What is wrong with the PHP 5.2.5 output? [2007-12-09 22:00:21] andrew at confirmalert dot com dot au Description: OK. I can reproduce this bug. The previous ticket was closed prematurely and with an incorrect status. So there is no doubt or miscommunication I have re-run the test on the same machine using the two versions of PHP. The results are the still the same as originally reported in bug '42755 date() returns incorrect time by +1 hour'. Reproduce code: --- == code - test1.php == ?php echo date(Y-m-d @ g:i, 1190671200); ? Expected result: == result using php 5.0.3 == C:\PHPphp test1.php 2007-09-24 @ 10:00 C:\PHPphp --version PHP 5.0.3 (cli) (built: Dec 15 2004 08:07:57) Copyright (c) 1997-2004 The PHP Group Zend Engine v2.0.3, Copyright (c) 1998-2004 Zend Technologies Actual result: -- == result using php 5.2.5 == C:\php-5.2.5php test1.php 2007-09-24 @ 11:00 C:\php-5.2.5php --version PHP 5.2.5 (cli) (built: Nov 8 2007 23:18:51) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies -- Edit this bug report at http://bugs.php.net/?id=43548edit=1
#43549 [Opn-Fbk]: changes made to htmlentities
ID: 43549 Updated by: [EMAIL PROTECTED] Reported By: mariusads at helpedia dot com -Status: Open +Status: Feedback Bug Type: Strings related Operating System: Redhat?, Linux PHP Version: 5.2.5 New Comment: Works fine for me. Are you sure you have everything as utf-8..ie. the page you're sending the form from has content-type set to utf-8 ? Previous Comments: [2007-12-09 23:59:03] mariusads at helpedia dot com Description: I run a website that accepts game cheats submissions from users and displays them in categories and so on. User submits .txt files which are saved on the driver, a certain page on the website reads the text file or a fragment of it, performs htmlentities on it and displays it on the screen. Recently, the hosting company upgraded PHP to PHP 5.2.5 and with htmlentities returned an empty string when trying to escape it. I understand this is probably because of that fix regarding multi-byte characters in string, making htmlentities ignore input. That seems dumb a bit, shouldn't it return at least a string part that's before that multibyte character? Anyway, the file submitted is plain text and I honestly don't know what characters are wrong, that it would make htmlentities to ignore the text. The file is uploaded here: http://www.tgdb.net/a.txt In the scripts I have the following code: function htmlesc($text) { $s = html_entity_decode($text,ENT_QUOTES,'UTF-8'); return htmlentities($s,ENT_QUOTES,'UTF-8');} } The text passes html_entity_decode with no problems but htmlentities returns empty string. If possible, could you please tell me how could I check in the future if a string contains multibyte characters, so that i don't have this problem? Right now, the only solution the hosting company gave to me was to add a rule in .htaccess which makes the server process the PHP files with PHP4. Thank you for your help. Marius Hudea PS. The captcha doesn't seem to work right, I'm sure I didn't get the captcha wrong 8 times in a row Reproduce code: --- I've used the code below uploaded on several web servers to test: htmlbody ? $text = $_REQUEST['text']; echo htmlentities($text,ENT_QUOTES,'UTF-8'); ? form name=A method=post textarea name=text/textarea input name=sub type=submit value=submit/ /form /body/html Test file: http://www.tgdb.net/a.txt Expected result: Expected to have the text displayed on the screen, to have the function return a non-empty string. Expected at least a partial string, up to that error, not having to check scripts for 5 minutes to see what went wrong. Actual result: -- Copy and paste text from a.txt results in an empty string. Any other text is processed correctly. -- Edit this bug report at http://bugs.php.net/?id=43549edit=1
#43546 [Opn-Bgs]: Strange behaviour after setting stream_set_blocking()
ID: 43546 Updated by: [EMAIL PROTECTED] Reported By: martzy at gmail dot com -Status: Open +Status: Bogus Bug Type: Streams related Operating System: FreeBSD 6.2-RELEASE PHP Version: 5.2.5 New Comment: Please do not submit the same bug more than once. An existing bug report already describes this very problem. Even if you feel that your issue is somewhat different, the resolution is likely to be the same. Thank you for your interest in PHP. See bug #34972 Previous Comments: [2007-12-09 20:33:54] martzy at gmail dot com Description: When running a PHP script as CLI, after setting stream_set_blocking($x,0), invoking an infinite loop which includes a print statement causes spontaneous script termination after an indeterminate number of iterations. Omitting stream_set_blocking() eliminates the problem. Tested and confirmed this behaviour on PHP 5.2.3 and PHP 5.2.5 on several FreeBSD systems. Reproduce code: --- This works as expected: ?php stream_set_blocking(STDIN,0); do { } while(TRUE); ? However, after introducing a print statement to the loop, the script appears to spontaneously terminate after a number of iterations. ?php stream_set_blocking(STDIN,0); do { print !; } while(TRUE); ? Expected result: Script should loop indefinately. Actual result: -- Script terminates on it's own. Any code following the loop is not executed. -- Edit this bug report at http://bugs.php.net/?id=43546edit=1
#43544 [Opn-Bgs]: Inconsistent behaviour of array_walk_recursive () in PHP 5 and PHP 6.
ID: 43544 Updated by: [EMAIL PROTECTED] Reported By: dharma dot yp at in dot ibm dot com -Status: Open +Status: Bogus Bug Type: Arrays related Operating System: Windows, Linux PHP Version: 5.2CVS-2007-12-09 (snap) New Comment: 5.2 and 6 are not consistent in many other ways too. 5.3 and 6 OTOH are more consistent, and this is acting same in both. Just don't try comparing 5.2 with anything above.. Previous Comments: [2007-12-09 16:25:43] [EMAIL PROTECTED] I'm afraid that is related: http://bugs.php.net/bug.php?id=43231 [2007-12-09 14:33:54] dharma dot yp at in dot ibm dot com Description: In array_walk_recursive(), if we pass non-existent callback function then it gives following output 1)for PHP 5 Warning: array_walk_recursive(): Unable to call echo() - function does not exist in %s on line %d bool(true) 2)for PHP 6 Warning: array_walk_recursive() : Expects parameter 2 to be valid callback, string given in %s on line %d NULL In PHP5, array_walk_recursive() gives warning message the number passed array element times, where as in PHP 6, it gives warning message only once with return value NULL. This is an inconsistent behavior of array_walk_recursive() with PHP5 and PHP6. The return value of bool(true) in PHP5 (1), will misguide/confuse the developers as the documentation says array_walk_recursive() returns TRUE on Success and FALSE on Failure. Reproduce code: --- ?php $input = array(array(1,2), array(3), array(4,5)); var_dump( array_walk_recursive($input, 'echo')); ? Expected result: /* for PHP5 / Warning: array_walk_recursive(): Unable to call echo() - function does not exist in %s on line %d bool(false) / for PHP6 / Warning: array_walk_recursive() : Expects parameter 2 to be valid callback, string given in %s on line %d NULL Actual result: -- / for PHP5 / Warning: array_walk_recursive(): Unable to call echo() - function does not exist in %s on line %d Warning: array_walk_recursive(): Unable to call echo() - function does not exist in %s on line %d Warning: array_walk_recursive(): Unable to call echo() - function does not exist in %s on line %d bool(true) / for PHP6 / Warning: array_walk_recursive() : Expects parameter 2 to be valid callback, string given in %s on line %d NULL -- Edit this bug report at http://bugs.php.net/?id=43544edit=1
#43543 [Opn-WFx]: Misleading TRUE return value for array_walk() and array_walk_recursive().
ID: 43543 Updated by: [EMAIL PROTECTED] Reported By: dharma dot yp at in dot ibm dot com -Status: Open +Status: Wont fix Bug Type: Arrays related Operating System: Windows, Linux PHP Version: 5.2CVS-2007-12-09 (snap) New Comment: It's fine as it is for 5.2. If it's not ok for 5.3, reopen. Previous Comments: [2007-12-09 14:26:19] dharma dot yp at in dot ibm dot com Description: In array_walk() and array_walk_recursive() functions, 1) In PHP 5.2 , if we pass non-existent function( not defined), it is expected to output the warning message with return value false.It is able output the warning message but not the correct return value. The warning message and return value is as follows. Warning: array_walk(): Unable to call wrong_function() - function does not exist in %s on line %d bool(true). Where as in PHP6, it works correct and warning message is as follows. Warning: array_walk_recursive() : Expects parameter 2 to be valid callback, string given in %s on line %d NULL. 2) In PHP5.2, if we pass less number of parameters for callback function through the array_walk() call, it is expected to ouput the warning message with return value of false. It is able to output the warning message but not the correct return value.The warning message and return value is as follows. Warning: Missing argument 3 for actual_function() in %s on line %d bool(true). This also fails with php 5.3 and php 6. The return value of bool(true) in (1) and (2) will misguide/confuse the developers as the documentation says array_walk()and array_walk_recursive()function calls return TRUE on Success and FALSE on Failure. Reproduce code: --- / for array_walk() / ?php function actual_function($value, $key, $user_data) { echo $value + $key; } $input = array( 0 = 1, 1 = 2, 2 = 3); var_dump( array_walk($input, wrong_function)); var_dump( array_walk($input, actual_function)); ? / for array_walk_recursive() / function actual_function($value, $key, $user_data) { echo $value + $key; } $input = array( 0 = 1, 1 = 2, 2 = 3); var_dump( array_walk_recursive($input, wrong_function)); var_dump( array_walk_recursive($input, actual_function)); ? Expected result: / for array_walk() / Warning: array_walk(): Unable to call wrong_function() - function does not exist in %s on line %d bool(false) Warning: Missing argument 3 for actual_function() in %s on line %d bool(false) / for array_walk_recursive() / Warning: array_walk_recursive() : Expects parameter 2 to be valid callback, string given in %s on line %d NULL Warning: Missing argument 3 for actual_function() in %s on line %d bool(false) Actual result: -- / for array_walk() / Warning: array_walk(): Unable to call wrong_function() - function does not exist in %s on line %d bool(true) Warning: Missing argument 3 for actual_function() in %s on line %d bool(true) / for array_walk_recursive() / Warning: array_walk_recursive() : Expects parameter 2 to be valid callback, string given in %s on line %d NULL Warning: Missing argument 3 for actual_function() in %s on line %d bool(true) -- Edit this bug report at http://bugs.php.net/?id=43543edit=1
#43535 [Opn-Fbk]: php.ini parse_ini_file()
ID: 43535 Updated by: [EMAIL PROTECTED] Reported By: sskaje at gmail dot com -Status: Open +Status: Feedback Bug Type: Filesystem function related Operating System: Windows 2003 | irrelevant PHP Version: 5.2.5 New Comment: And what exactly is the problem you have? Currently the file opening for this function happens exactly how a script is opened and I don't think there's anything wrong with that. Previous Comments: [2007-12-08 13:53:09] sskaje at gmail dot com Description: parse_ini_file() should not be configured with allow_url_include in php.ini but allow_url_fopen that make me cant directly parse the ini file on http server Expected result: nothing Actual result: -- nothing -- Edit this bug report at http://bugs.php.net/?id=43535edit=1
#43294 [Opn-Fbk]: htmlentities with UTF8 fails if dagger character supplied
ID: 43294 Updated by: [EMAIL PROTECTED] Reported By: tallyce at gmail dot com -Status: Open +Status: Feedback Bug Type: Strings related Operating System: Windows or Linux PHP Version: 5.2.5 New Comment: Seems to work fine for me: [EMAIL PROTECTED] ~]$ php t.php Test dagger;br /Test[ Please try on command line. Previous Comments: [2007-11-14 14:39:48] tallyce at gmail dot com Description: A string which includes the dagger symbol that is processed with htmlentities() with UTF-8 as the encoding results in the whole string being discarded and appearing as blank. This is definitely a change in PHP 5.2.5. Tested on both Windows and Linux machines. Reproduce code: --- ?php echo htmlentities ('Test ', ENT_COMPAT, 'UTF-8') . 'br /' . htmlentities ('Test', ENT_COMPAT, 'UTF-8'); ? Expected result: Test Test [This is indeed the result as expected, on PHP v.5.2.4] Actual result: -- Test [Blank line at start] -- Edit this bug report at http://bugs.php.net/?id=43294edit=1
#43294 [Fbk]: htmlentities with UTF8 fails if dagger character supplied
ID: 43294 Updated by: [EMAIL PROTECTED] Reported By: tallyce at gmail dot com Status: Feedback Bug Type: Strings related Operating System: Windows or Linux PHP Version: 5.2.5 New Comment: Correct output: $ php t.php Test dagger;br /Test Previous Comments: [2007-12-10 10:01:49] [EMAIL PROTECTED] Seems to work fine for me: [EMAIL PROTECTED] ~]$ php t.php Test dagger;br /Test[ Please try on command line. [2007-11-14 14:39:48] tallyce at gmail dot com Description: A string which includes the dagger symbol that is processed with htmlentities() with UTF-8 as the encoding results in the whole string being discarded and appearing as blank. This is definitely a change in PHP 5.2.5. Tested on both Windows and Linux machines. Reproduce code: --- ?php echo htmlentities ('Test ', ENT_COMPAT, 'UTF-8') . 'br /' . htmlentities ('Test', ENT_COMPAT, 'UTF-8'); ? Expected result: Test Test [This is indeed the result as expected, on PHP v.5.2.4] Actual result: -- Test [Blank line at start] -- Edit this bug report at http://bugs.php.net/?id=43294edit=1
#43548 [Fbk-Opn]: date() returns incorrect time by +1 hour
ID: 43548 User updated by: andrew at confirmalert dot com dot au Reported By: andrew at confirmalert dot com dot au -Status: Feedback +Status: Open Bug Type: Date/time related Operating System: Win 2003 Server SP2 PHP Version: 5.2.5 New Comment: Answer 1. = The output for PHP 5.2.5 is: - C:\php-5.2.5php test2.php Europe/London - Answer 2. = The output for php 5.2.5 of 2007-09-24 @ 11:00 is accurate for Europe/London. The output for php 5.2.5 is inaccurate for Morroco/Casablanca which is the timezone that the server has been set to i.e. London was observing daylight savings time on the above date. Casablanca was not (2007-09-24 @ 10:00). See the following link for details ... http://www.timeanddate.com/worldclock/fixedtime.html?month=9day=24year=2007hour=10min=0sec=0p1=0 It appears that php 5.2.5 does not accurately pickup the timezone set by the Windows operating system. Previous Comments: [2007-12-10 08:16:05] [EMAIL PROTECTED] Please answer my questions: 1. What is the output of: ?php echo date_default_timezone_get(), \n; ? 2. What is wrong with the PHP 5.2.5 output? [2007-12-09 23:01:36] andrew at confirmalert dot com dot au Hi Derick. PHP versions up to 5.0.3 were producing a result of '2007-09-24 @ 10:00'. PHP 5.2.5 produces '2007-09-24 @ 11:00' which +1 hour difference. This breaks our online diary system. Cheers. Andrew [2007-12-09 22:23:24] [EMAIL PROTECTED] What is wrong with the PHP 5.2.5 output? [2007-12-09 22:00:21] andrew at confirmalert dot com dot au Description: OK. I can reproduce this bug. The previous ticket was closed prematurely and with an incorrect status. So there is no doubt or miscommunication I have re-run the test on the same machine using the two versions of PHP. The results are the still the same as originally reported in bug '42755 date() returns incorrect time by +1 hour'. Reproduce code: --- == code - test1.php == ?php echo date(Y-m-d @ g:i, 1190671200); ? Expected result: == result using php 5.0.3 == C:\PHPphp test1.php 2007-09-24 @ 10:00 C:\PHPphp --version PHP 5.0.3 (cli) (built: Dec 15 2004 08:07:57) Copyright (c) 1997-2004 The PHP Group Zend Engine v2.0.3, Copyright (c) 1998-2004 Zend Technologies Actual result: -- == result using php 5.2.5 == C:\php-5.2.5php test1.php 2007-09-24 @ 11:00 C:\php-5.2.5php --version PHP 5.2.5 (cli) (built: Nov 8 2007 23:18:51) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies -- Edit this bug report at http://bugs.php.net/?id=43548edit=1
#43548 [Opn-Bgs]: date() returns incorrect time by +1 hour
ID: 43548 Updated by: [EMAIL PROTECTED] Reported By: andrew at confirmalert dot com dot au -Status: Open +Status: Bogus Bug Type: Date/time related Operating System: Win 2003 Server SP2 PHP Version: 5.2.5 New Comment: Exactly, and that is why you need to set it: http://no2.php.net/manual/en/ref.datetime.php#ini.date.timezone (Set it to: Africa/Casablanca) PHP will also warn you about this if you have E_STRICT errors turned on. This is not a bug. Previous Comments: [2007-12-10 10:05:33] andrew at confirmalert dot com dot au Answer 1. = The output for PHP 5.2.5 is: - C:\php-5.2.5php test2.php Europe/London - Answer 2. = The output for php 5.2.5 of 2007-09-24 @ 11:00 is accurate for Europe/London. The output for php 5.2.5 is inaccurate for Morroco/Casablanca which is the timezone that the server has been set to i.e. London was observing daylight savings time on the above date. Casablanca was not (2007-09-24 @ 10:00). See the following link for details ... http://www.timeanddate.com/worldclock/fixedtime.html?month=9day=24year=2007hour=10min=0sec=0p1=0 It appears that php 5.2.5 does not accurately pickup the timezone set by the Windows operating system. [2007-12-10 08:16:05] [EMAIL PROTECTED] Please answer my questions: 1. What is the output of: ?php echo date_default_timezone_get(), \n; ? 2. What is wrong with the PHP 5.2.5 output? [2007-12-09 23:01:36] andrew at confirmalert dot com dot au Hi Derick. PHP versions up to 5.0.3 were producing a result of '2007-09-24 @ 10:00'. PHP 5.2.5 produces '2007-09-24 @ 11:00' which +1 hour difference. This breaks our online diary system. Cheers. Andrew [2007-12-09 22:23:24] [EMAIL PROTECTED] What is wrong with the PHP 5.2.5 output? [2007-12-09 22:00:21] andrew at confirmalert dot com dot au Description: OK. I can reproduce this bug. The previous ticket was closed prematurely and with an incorrect status. So there is no doubt or miscommunication I have re-run the test on the same machine using the two versions of PHP. The results are the still the same as originally reported in bug '42755 date() returns incorrect time by +1 hour'. Reproduce code: --- == code - test1.php == ?php echo date(Y-m-d @ g:i, 1190671200); ? Expected result: == result using php 5.0.3 == C:\PHPphp test1.php 2007-09-24 @ 10:00 C:\PHPphp --version PHP 5.0.3 (cli) (built: Dec 15 2004 08:07:57) Copyright (c) 1997-2004 The PHP Group Zend Engine v2.0.3, Copyright (c) 1998-2004 Zend Technologies Actual result: -- == result using php 5.2.5 == C:\php-5.2.5php test1.php 2007-09-24 @ 11:00 C:\php-5.2.5php --version PHP 5.2.5 (cli) (built: Nov 8 2007 23:18:51) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies -- Edit this bug report at http://bugs.php.net/?id=43548edit=1
#43549 [Fbk-Opn]: changes made to htmlentities
ID: 43549 User updated by: mariusads at helpedia dot com Reported By: mariusads at helpedia dot com -Status: Feedback +Status: Open Bug Type: Strings related Operating System: Redhat?, Linux PHP Version: 5.2.5 New Comment: Here are several pages that show this problem with htmlentities: hxtp://www.tgdb.net/pc/cheats/19556/18_Wheels_of_Steel_Convoy-page1.html hxtp://www.tgdb.net/pc/faq/5845/Diablo-page1.html The content on the second link worked fine up until the PHP version was upgraded. This page and lots of other work: hxtp://www.tgdb.net/pc/faq/5841/Diablo-page1.html So it's not a badly coded script in the sense that it worked as I planned. You can see the text right before it's being sent to htmlentities in all pages in a html comment, you just have to view the source (with the only difference that I've replaced '--' with '==' as -- is not allowed in comments. When I reported the problem to the hosting company, I have uploaded the test script written in the first post on two of their servers and a server from Dreamhost. PHP 5.2.5 hxtp://www.helpedia.com/test2.php PHP 5.2.5 hxtp://www.tgdb.net/test2.php PHP 5.2.2 hxtp://www.definethis.org/test2.php I've opened the file a.txt in Firefox, pressed Ctrl+A to select all text, copied to Clipboard and pasted it to the form. Result is an empty string on PHP 5.2.5 and the correct string on PHP 5.2.2. Correct result also on my work computer with PHP 5.2.4 I didn't manage to download 5.2.5 on my work computer and test it, so I guess it could be a bad build on the hosting company's servers. Will try in the following hour. (replace hxtp with http, this page thinks I'm spamming) Previous Comments: [2007-12-10 09:32:57] [EMAIL PROTECTED] Works fine for me. Are you sure you have everything as utf-8..ie. the page you're sending the form from has content-type set to utf-8 ? [2007-12-09 23:59:03] mariusads at helpedia dot com Description: I run a website that accepts game cheats submissions from users and displays them in categories and so on. User submits .txt files which are saved on the driver, a certain page on the website reads the text file or a fragment of it, performs htmlentities on it and displays it on the screen. Recently, the hosting company upgraded PHP to PHP 5.2.5 and with htmlentities returned an empty string when trying to escape it. I understand this is probably because of that fix regarding multi-byte characters in string, making htmlentities ignore input. That seems dumb a bit, shouldn't it return at least a string part that's before that multibyte character? Anyway, the file submitted is plain text and I honestly don't know what characters are wrong, that it would make htmlentities to ignore the text. The file is uploaded here: http://www.tgdb.net/a.txt In the scripts I have the following code: function htmlesc($text) { $s = html_entity_decode($text,ENT_QUOTES,'UTF-8'); return htmlentities($s,ENT_QUOTES,'UTF-8');} } The text passes html_entity_decode with no problems but htmlentities returns empty string. If possible, could you please tell me how could I check in the future if a string contains multibyte characters, so that i don't have this problem? Right now, the only solution the hosting company gave to me was to add a rule in .htaccess which makes the server process the PHP files with PHP4. Thank you for your help. Marius Hudea PS. The captcha doesn't seem to work right, I'm sure I didn't get the captcha wrong 8 times in a row Reproduce code: --- I've used the code below uploaded on several web servers to test: htmlbody ? $text = $_REQUEST['text']; echo htmlentities($text,ENT_QUOTES,'UTF-8'); ? form name=A method=post textarea name=text/textarea input name=sub type=submit value=submit/ /form /body/html Test file: http://www.tgdb.net/a.txt Expected result: Expected to have the text displayed on the screen, to have the function return a non-empty string. Expected at least a partial string, up to that error, not having to check scripts for 5 minutes to see what went wrong. Actual result: -- Copy and paste text from a.txt results in an empty string. Any other text is processed correctly. -- Edit this bug report at http://bugs.php.net/?id=43549edit=1
#43552 [NEW]: Cannot find variables defined in files included
From: tariq at prime-service dot com Operating system: Windows Server 2003 PHP version: 5.2.5 PHP Bug Type: *Compile Issues Bug description: Cannot find variables defined in files included Description: variables defined in files included are not being populated. However if we print something in included file it displays on the screen. But variables and their values are not passed to the file calling the included file. Reproduce code: --- Test1.php ? $A = 10; $B = 15; ? Test2.php ?php require('Test1.php'); echo $A; ? it would result into variable undefined warning. Expected result: 10 in output Actual result: -- Warning! variable not defined -- Edit bug report at http://bugs.php.net/?id=43552edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=43552r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=43552r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=43552r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=43552r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=43552r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=43552r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=43552r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=43552r=needscript Try newer version:http://bugs.php.net/fix.php?id=43552r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=43552r=support Expected behavior:http://bugs.php.net/fix.php?id=43552r=notwrong Not enough info: http://bugs.php.net/fix.php?id=43552r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=43552r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=43552r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43552r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=43552r=dst IIS Stability:http://bugs.php.net/fix.php?id=43552r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=43552r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=43552r=float No Zend Extensions: http://bugs.php.net/fix.php?id=43552r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=43552r=mysqlcfg
#43549 [Opn]: changes made to htmlentities
ID: 43549 User updated by: mariusads at helpedia dot com Reported By: mariusads at helpedia dot com Status: Open Bug Type: Strings related Operating System: Redhat?, Linux PHP Version: 5.2.5 New Comment: Just downloaded on my computer (Windows 2003, PHP 5.2.5 from website) and the same problem occurs. For example this one works: hxtp://devtgdb.definethis.org:90/pc/faq/5842/Diablo-page1.html but this one doesn't: hxtp://devtgdb.definethis.org:90/pc/faq/5845/Diablo-page1.html The source code is identical, only difference is ads are disabled from site config. Also, if the links don't work, sorry, you may read this while I'm sleeping and my computer is turned off. Otherwise, it's cable 4mbps/512kbps so they should work. (again, please replace hxtp with http) Previous Comments: [2007-12-10 11:24:16] mariusads at helpedia dot com Here are several pages that show this problem with htmlentities: hxtp://www.tgdb.net/pc/cheats/19556/18_Wheels_of_Steel_Convoy-page1.html hxtp://www.tgdb.net/pc/faq/5845/Diablo-page1.html The content on the second link worked fine up until the PHP version was upgraded. This page and lots of other work: hxtp://www.tgdb.net/pc/faq/5841/Diablo-page1.html So it's not a badly coded script in the sense that it worked as I planned. You can see the text right before it's being sent to htmlentities in all pages in a html comment, you just have to view the source (with the only difference that I've replaced '--' with '==' as -- is not allowed in comments. When I reported the problem to the hosting company, I have uploaded the test script written in the first post on two of their servers and a server from Dreamhost. PHP 5.2.5 hxtp://www.helpedia.com/test2.php PHP 5.2.5 hxtp://www.tgdb.net/test2.php PHP 5.2.2 hxtp://www.definethis.org/test2.php I've opened the file a.txt in Firefox, pressed Ctrl+A to select all text, copied to Clipboard and pasted it to the form. Result is an empty string on PHP 5.2.5 and the correct string on PHP 5.2.2. Correct result also on my work computer with PHP 5.2.4 I didn't manage to download 5.2.5 on my work computer and test it, so I guess it could be a bad build on the hosting company's servers. Will try in the following hour. (replace hxtp with http, this page thinks I'm spamming) [2007-12-10 09:32:57] [EMAIL PROTECTED] Works fine for me. Are you sure you have everything as utf-8..ie. the page you're sending the form from has content-type set to utf-8 ? [2007-12-09 23:59:03] mariusads at helpedia dot com Description: I run a website that accepts game cheats submissions from users and displays them in categories and so on. User submits .txt files which are saved on the driver, a certain page on the website reads the text file or a fragment of it, performs htmlentities on it and displays it on the screen. Recently, the hosting company upgraded PHP to PHP 5.2.5 and with htmlentities returned an empty string when trying to escape it. I understand this is probably because of that fix regarding multi-byte characters in string, making htmlentities ignore input. That seems dumb a bit, shouldn't it return at least a string part that's before that multibyte character? Anyway, the file submitted is plain text and I honestly don't know what characters are wrong, that it would make htmlentities to ignore the text. The file is uploaded here: http://www.tgdb.net/a.txt In the scripts I have the following code: function htmlesc($text) { $s = html_entity_decode($text,ENT_QUOTES,'UTF-8'); return htmlentities($s,ENT_QUOTES,'UTF-8');} } The text passes html_entity_decode with no problems but htmlentities returns empty string. If possible, could you please tell me how could I check in the future if a string contains multibyte characters, so that i don't have this problem? Right now, the only solution the hosting company gave to me was to add a rule in .htaccess which makes the server process the PHP files with PHP4. Thank you for your help. Marius Hudea PS. The captcha doesn't seem to work right, I'm sure I didn't get the captcha wrong 8 times in a row Reproduce code: --- I've used the code below uploaded on several web servers to test: htmlbody ? $text = $_REQUEST['text']; echo htmlentities($text,ENT_QUOTES,'UTF-8'); ? form name=A method=post textarea name=text/textarea input name=sub type=submit value=submit/ /form /body/html Test file: http://www.tgdb.net/a.txt Expected result: Expected to have the text displayed on the screen, to have the function return a non-empty string. Expected at least a partial string, up to that error, not having to check scripts for 5 minutes to see what went wrong. Actual result: -- Copy and
#43488 [Asn-NoF]: httpd.conf generation / php5apache2_2.dll
ID: 43488 Updated by: [EMAIL PROTECTED] Reported By: steve dot buzonas at gmail dot com -Status: Assigned +Status: No Feedback Bug Type: *General Issues Operating System: Windows XP Pro SP2 PHP Version: 5.2.5 Assigned To: jmertic New Comment: No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to Open. Thank you. Previous Comments: [2007-12-04 13:21:25] [EMAIL PROTECTED] Could you run it in verbose logging mode and e-mail the log file to [EMAIL PROTECTED] To run in verbose logging mode issue the below command from the command prompt ( from the same directory where the install exists ): msiexec /i php-5.2.5-win32-installer.msi /l*v error.log Also, please send me the output of running php.exe -m from the command line. [2007-12-04 12:27:41] [EMAIL PROTECTED] Assigned to the installer maintainer. [2007-12-03 19:10:15] steve dot buzonas at gmail dot com I submitted the solution but not the problem. It is similar to an item listed in the FAQ. If you try to access a PHP script in the browser with PHP installed you end up with a blank screen. The FAQ suggests PHP is not properly configured and to view source and you should see the PHP code. This is the same problem only when the PHP code is not visible via a view source. [2007-12-03 18:59:55] steve dot buzonas at gmail dot com Description: When I use the MSI installer it does not provide a file named php5apache2_2.dll; instead it is php5apache2_2_filter.dll I'm not sure if it's something I excluded in my install configuration. I have the same results every time I try the repair option. I no longer have a problem, I just wanted to point this out in case other people have this problem. There are no bugs on it, nor is anything listed in the FAQ. -- Edit this bug report at http://bugs.php.net/?id=43488edit=1
#43528 [Opn-Fbk]: gzdeflate - buffer error or just segfault
ID: 43528 Updated by: [EMAIL PROTECTED] Reported By: mi+php at aldan dot algebra dot com -Status: Open +Status: Feedback Bug Type: Zlib Related Operating System: FreeBSD/amd64 PHP Version: 5.2.5 New Comment: 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 ?php and ends 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. Previous Comments: [2007-12-07 14:13:24] mi+php at aldan dot algebra dot com Description: I'm setting up MediaWiki-1.11.0, which uses gzdeflate (if available) to compress serialized objects. Every once in a while I would get either a: PHP Warning: gzdeflate() [a href='function.gzdeflate'function.gzdeflate/a]: buffer error in /opt/www/mediawiki/includes/BagOStuff.php on line 374 or simply a report about httpd-child segfaulting in the server's error-log. I ended up commenting out the gzdeflate-detecting logic in MediaWiki's file in order to /never/ compress the objects, but that, obviously, is not a fix. I'm struggling to convince the server, that it is Ok to dump a core-file -- so I can not post a trace at the moment. But if you are aware of this problem already, however, I'd greatly appreciate a fix. -- Edit this bug report at http://bugs.php.net/?id=43528edit=1
#40846 [Com]: pcre.backtrack_limit too restrictive
ID: 40846 Comment by: daan at react dot nl Reported By: crisp at xs4all dot nl Status: Open Bug Type: Feature/Change Request Operating System: all PHP Version: 5.2.1 New Comment: This issue is still a problem, plus this low setting is also the cause of segfaults. (see http://bugs.php.net/bug.php?id=43031) At the moment even this simple regexp segfaults 5.2.5: preg_match('/(.)*/', str_repeat('x', 6000)); I hope that is not intended behavior, as is suggested in the reply in bug report 43031. Previous Comments: [2007-08-16 19:00:13] drnick at physics dot byu dot edu I just wanted to throw out that I completely agree with crisp. We recently updated PHP on our webserver to 5.2.3 and had issues with our template system on input sizes of a certain size (100K). The idea of allowing PHP to enforce limits on the PCRE library is fine, but having the default action (when recursion_limit and backtrack_limit are commented-out) be PHP overriding PCRE's internal limits is VERY problematic. Aside from being incredibly anti backwards-compatible, I believe PHP should not make arbitrary assumptions such as these. I believe PHP should be changed so that the default action is to make use of PCRE's internal limits, and if people want to enforce their own, they can make that decision via the options. Perhaps modify php.ini-recommended to explain the options and say why having external limits can be good. [2007-08-16 15:58:08] brandon at invisionpower dot com Installations of 5.2 are causing this issue for us with relatively simple regex. Users can submit an arbitrary amount of data (I work on a bulletin board software) that is parsed out for bbcode tags. Even simple expressions are causing problems. $txt = preg_replace_callback( #\[code\](.+?)\[/code\]#is, array( $this, 'regex_code_tag' ), $txt ); var_dump( preg_last_error() ); The callback function is not being hit at all and the output is int(2) (backtrack limit hit). Increasing backtrack limit to 1,000,000 resolves the issue, but with shared hosting plans it's unrealistic to expect hosts to make php.ini changes to allow this. I agree with crisp - the limit in PHP should bet set to the internal PCRE options, with the php.ini settings allowing you to reduce them if you wish. PHP should not arbitrarily reduce them. [2007-05-20 11:22:00] crisp at xs4all dot nl PHP 5.2.0 includes an update of the PCRE library (version 6.7), so some problems may not be totally due to the restrictive limits of the PCRE settings in PHP but could be a bug/regression in PCRE itself. PCRE has always been very poor in internal optimisation of expressions that contain look-aheads or look-behinds, especially when they are combined with some OR'ed subexpression. It's backtracking mechanism is quite simplistic and doesn't rule out execution paths that are sure not to result in a match - in fact, it doesn't have any sort of execution planner. [2007-05-20 11:09:08] tigr at mail15 dot com It is kinda strange: previous versions work pretty nice, swiftly executing all patterns. And in some situations (as I mentioned before) increasing recursion and backtrack limits just won't help. I suppose it's wrong behaviour. Also, note that examples are pretty short and simple. Increasing both limits to 1 000 000 does not help - just why? [2007-05-20 10:49:37] [EMAIL PROTECTED] we simply can't increase recursion limit or we risk segfaulting php. increase the backtrack limit is also risky, but is much safer (although regexes with much backtracking are usually not well written). I'll think more about this.. 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/40846 -- Edit this bug report at http://bugs.php.net/?id=40846edit=1
#43522 [Opn-Csd]: stream_get_line eats additional characters
ID: 43522 Updated by: [EMAIL PROTECTED] Reported By: tylera at iproduction dot com -Status: Open +Status: Closed Bug Type: Streams related Operating System: Gentoo Linux, Win32, Solaris PHP Version: 5.2.5 New Comment: Thank you for your bug report. This issue has already been fixed in the latest released version of PHP, which you can download at http://www.php.net/downloads.php Previous Comments: [2007-12-08 20:25:55] [EMAIL PROTECTED] Simple patch for it: http://ecl.zoone.com.br/etc/patches/bug43522.patch [2007-12-06 17:16:21] tylera at iproduction dot com Description: Calling stream_get_line may eat additional characters when reading a long line. If the delimiter is not encountered, a number of additional characters are removed from the stream and are not returned with the next call to stream_get_line. For some unknown reason, adding \r to the delimiter makes it work just fine. Reproduce code: --- ?PHP // 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ $fp = fopen('test.php', 'r'); // Open myself DoTest($fp, 'ZZZ'); // Removes 3 characters DoTest($fp, \r); // Doesn't break with \r for some reason function DoTest($fp, $delim) { echo Delim: . urlencode($delim) . \n; rewind($fp); echo . stream_get_line($fp, 10, $delim) . \n; echo . stream_get_line($fp, 10, $delim) . \n; } Expected result: Delim: ZZZ ?PHP // 1 234567890A Delim: %0D ?PHP // 1 234567890A Actual result: -- Delim: ZZZ ?PHP // 1 567890ABCD Delim: %0D ?PHP // 1 234567890A -- Edit this bug report at http://bugs.php.net/?id=43522edit=1
#43522 [Csd]: stream_get_line eats additional characters
ID: 43522 User updated by: tylera at iproduction dot com Reported By: tylera at iproduction dot com Status: Closed Bug Type: Streams related Operating System: Gentoo Linux, Win32, Solaris PHP Version: 5.2.5 New Comment: Even though you used the wrong canned response, I appreciate that you fixed the bug. Can't wait for 5.2.6 or 5.3.0 to be released. http://cvs.php.net/viewvc.cgi/php-src/main/streams/streams.c?view=log Previous Comments: [2007-12-10 14:19:31] [EMAIL PROTECTED] Thank you for your bug report. This issue has already been fixed in the latest released version of PHP, which you can download at http://www.php.net/downloads.php [2007-12-08 20:25:55] [EMAIL PROTECTED] Simple patch for it: http://ecl.zoone.com.br/etc/patches/bug43522.patch [2007-12-06 17:16:21] tylera at iproduction dot com Description: Calling stream_get_line may eat additional characters when reading a long line. If the delimiter is not encountered, a number of additional characters are removed from the stream and are not returned with the next call to stream_get_line. For some unknown reason, adding \r to the delimiter makes it work just fine. Reproduce code: --- ?PHP // 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ $fp = fopen('test.php', 'r'); // Open myself DoTest($fp, 'ZZZ'); // Removes 3 characters DoTest($fp, \r); // Doesn't break with \r for some reason function DoTest($fp, $delim) { echo Delim: . urlencode($delim) . \n; rewind($fp); echo . stream_get_line($fp, 10, $delim) . \n; echo . stream_get_line($fp, 10, $delim) . \n; } Expected result: Delim: ZZZ ?PHP // 1 234567890A Delim: %0D ?PHP // 1 234567890A Actual result: -- Delim: ZZZ ?PHP // 1 567890ABCD Delim: %0D ?PHP // 1 234567890A -- Edit this bug report at http://bugs.php.net/?id=43522edit=1
#41593 [Asn-Fbk]: FastCGI does not handle graceful reload/shutdown
ID: 41593 Updated by: [EMAIL PROTECTED] Reported By: jonepet at dcvhost dot no -Status: Assigned +Status: Feedback Bug Type: CGI related Operating System: Linux PHP Version: 5.2.3 Assigned To: dmitry New Comment: I'm not able to reproduce the HTTP 500 response on graceful restart with PHP_5_3, mod_fastcgi and Apache. Previous Comments: [2007-11-19 18:56:25] [EMAIL PROTECTED] This is still buggy. [2007-10-16 20:48:22] andrei dot nigmatulin at gmail dot com Graceful reload/shutdown implemented in unofficial patch http://php-fpm.anight.org/. For now docs are in Russian, though. [2007-06-13 19:25:56] severn-php at xephris dot net Re: mod_fcgid: I see... I guess I'll modify mod_fcgid myself for that setup. That doesn't explain the mod_fastcgi problems though. I thought it might be something with my setup so I rebuilt it from scratch... might have had some old crap left behind. I don't get 500 errors with PHP 5.2.3 + mod_fastcgi 2.4.2 + Apache 1.3.37 anymore, so it does look fixed in 5.2.3... but I get another strange problem: doing a graceful restart shortens the sleep time to zero. i.e. ?php $a = time(); sleep(30); echo time()-$a; ? Going to this page then doing a graceful after 5 seconds would give 5 instead of the expected 30. php5.fcgi== #!/bin/sh export PHP_FCGI_CHILDREN=4 exec /opt/php5/bin/php-cgi $* For the record, PHP 4.4.7 dies with a 500 error, but that's not a big problem for us... Could the OP perhaps provide us some info on what versions of Apache and mod_fastcgi/mod_fcgid so we can try replicating it? [2007-06-13 17:40:12] [EMAIL PROTECTED] PHP/fastcgi catches SIGTERM and always does graceful shutdown, however mod_fcgid sends SIGTERM then waits for one second and sends SIGKILL if PHP process isn't exited. So this is not a PHP issue. [2007-06-12 19:31:57] severn-php at xephris dot net From the looks of the changelog, Bug #36158 was fixed in 5.1.3 I just tried that with mod_fcgid 2.1 and Apache 2.2.4 on x64 Linux and it too died. mod_fcgid sends SIGTERM to the PHP process which dies returning a blank page. I also tried it with mod_fastcgi 2.4.2 and Apache 1.3.37, that died with the 500 error. I've also tried PHP 5.1.6 and 5.2.3, same issue. So... it looks to me like the bug was never actually fixed... (not in 5.x at least). I get the same behaviour with 4.4.7 (blank screen with mod_fcgid, 500 error with mod_fastcgi) 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/41593 -- Edit this bug report at http://bugs.php.net/?id=41593edit=1
#43393 [Com]: MySQL Extensions selected during install aren't properly referenced in php.ini
ID: 43393 Comment by: rt at interlogic dot com dot ua Reported By: kleinjames at yahoo dot com Status: Assigned Bug Type: MySQL related Operating System: Windows 2003 PHP Version: 5.2.5 Assigned To: jmertic New Comment: I had the same problem when install php_5.2.5 from zip package on WinXP with apache2. I have to say, that I have installed php with apache and MySQL a couple of times before and it wasn't new for me, but... This time php doesn't work with any extention. Only one thing let my installation to work. I have added path to my php installation folder to system variable 'Path'. This process is covered in manual http://www.php.net/manual/en/faq.installation.php#faq.installation.addtopath Previous Comments: [2007-12-04 03:36:27] kleinjames at yahoo dot com Sent a video showing installing php, running phpinfo() and showing the outcome of php.exe -m. Should help show what either I am doing wrong or the installer is doing wrong. [2007-12-03 12:42:45] [EMAIL PROTECTED] Try a newer installer snapshot; that one would have predated the fix I put in. [2007-11-29 06:11:22] kleinjames at yahoo dot com I used the following msi file downloaded from the location mentioned above: php5.2-win32-installer-200711272130.msi Still has the bad dll reference. In theory, the short notation should work, but for some reason doesn't. [2007-11-28 15:35:47] [EMAIL PROTECTED] In fixing the other bug you mention, I did an install on WinXP and Win 2003 with mysql and mysqli and both showed up in phpinfo(). Can you verify them being listed in the php.ini file and in the ext directory in the installation directory? [2007-11-27 20:32:44] kleinjames at yahoo dot com In the mean time, I have a piece of advise for you: Relook at bug # 43394. Before calling the bug bogus and making yourself look bad by saying I've tested this personally on WinXP, try reproducing the problem on windows 2003. I ran 5.2.5 on a dozen windows 2003 servers with different hardware, different configurations. ALL suffer the same problem described in that bug. If you read the full bug form, Windows 2003 is listed as the OS, not windows xp. If something works in windows xp, doesn't mean that same program works in windows 2003. You are right though, the problem doesn't occur in windows xp, but I never did report the bug as a windows xp bug. 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/43393 -- Edit this bug report at http://bugs.php.net/?id=43393edit=1
#43554 [NEW]: Calling a non static function staticaly causes local assignment
From: crashrox at gmail dot com Operating system: Tested on Solaris Windows PHP version: 5.2.5 PHP Bug Type: Class/Object related Bug description: Calling a non static function staticaly causes local assignment Description: You have two classes (Class1 and Class2). Class1 calls a non static Class2 function with a Class2 variable assignment, but without a return value. The value set in Class2 is somehow assigned to Class1. If the function was set to static or the class is instantiated the problem does not occur. See code example below for better explanation... Reproduce code: --- // UNEXPECTED RESULTS class Class1 { public function __construct() { Class2::dosomething(); } } class Class2 { private $somevar; public function dosomething() { $this-somevar = 'test'; } } $x = new Class1(); print_r($x); /* // WORKS CORRECTLY class Class1 { public function __construct() { $x = new Class2(); $x-dosomething(); } } class Class2 { private $somevar; public function dosomething() { $this-somevar = 'test'; } } $x = new Class1(); print_r($x); */ Expected result: Class1 Object ( ) Actual result: -- Class1 Object ( [somevar] = test ) -- Edit bug report at http://bugs.php.net/?id=43554edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=43554r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=43554r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=43554r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=43554r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=43554r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=43554r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=43554r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=43554r=needscript Try newer version:http://bugs.php.net/fix.php?id=43554r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=43554r=support Expected behavior:http://bugs.php.net/fix.php?id=43554r=notwrong Not enough info: http://bugs.php.net/fix.php?id=43554r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=43554r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=43554r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43554r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=43554r=dst IIS Stability:http://bugs.php.net/fix.php?id=43554r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=43554r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=43554r=float No Zend Extensions: http://bugs.php.net/fix.php?id=43554r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=43554r=mysqlcfg
#41350 [Com]: Error in my_thread_global_end()
ID: 41350 Comment by: m dot bariola at prodigiweb dot it Reported By: graham at directhostinguk dot com Status: No Feedback Bug Type: MySQL related Operating System: Windows 2003 PHP Version: 5.2.3 New Comment: Hi, I experienced this problem too and still am. however I might give some info that might move the focus to a different point. Reading the comments, I see that some people are experiencing it with or without mySQL, or on imap, solving with older lib version, etc. I have two winXP systems both running the same XAMPP version (1.6.4). I have no problems on my home PC, so I repeated the configuration on the work PC. easy as repeating the XAMPP installation with same paths as home, then copying the apache conf folder from home, and modifying the Path variable so that it will look for executables in c:\xampp\php also. basically, exactly the same as home, but the work PC does not work, while the home installation has no such problems. hope this helps in finding the real cause of the problem. Previous Comments: [2007-12-07 13:47:32] jean-yves dot deleze at crealp dot vs dot ch I recently installed PHP 5.2.5 on Windows and the error was still there (MySQL version 5.0.45). The only way to remove the error was to use old versions of php_mysql(i).dll or libmysql.dll (= 5.0.27). Today I downloaded MySQL 5.0.51 Win32 sources, I compiled the libmysql.dll library and replaced the one shiped with PHP 5.2.5. This solved the problem. [2007-12-05 12:53:41] ulmer at energieagentur dot nrw dot de The version of the mysql extension at http://dev.mysql.com/downloads/connector/php/ is 5.0.27 right now which seems to be quite old. The Changelog date is 2006-11-17, so it is more than a year old! Installing this version is NOT a solution for me. [2007-12-04 12:40:24] webmaster at cosmicperl dot com !!SOLUTION!! !!SOLUTION!! If you download the latest PHP - MySQL connector files direct from MySQL this problem goes away:- http://dev.mysql.com/downloads/connector/php/ Why hasn't PHP updated to these latest files?!?!? !!SOLUTION!! !!SOLUTION!! [2007-12-04 01:45:12] jp at chicagowebexperts dot com Windows XP, PHP 5.2.5, same issue: Error in my_thread_global_end(): 1 threads didn't exit Typically 1 thread, but sometimes 3. Running as a CGI. Problem manifests even if no calls to any MySQL function are made. Problem disappears if extension=php_mysql.dll is commented out. Noticed that the behavior becomes less frequent (or disappears entirely) the more that your page outputs. Have a controller.php file doing only back-end processing, no client output; bug appears 100% of the time. Noticed that my index.php file never failed (about 60 lines of HTML outputted), so for the heck of it, put in ? exit; ? at the very top. Problem occurs 100% of the time. Problem never occurs in a PHP file consisting only of ? phpinfo(); ? (short tags enabled in php.ini). Created a small test.php file consisting only of HTML (open and close HTML tags, and 512 bytes of data). Problem occurs ~20-30% of the time. Interestingly enough, I noticed that if I refresh the test.php page quickly enough, I get back an HTTP 403.9: The page cannot be displayed. There are too many people accessing the Web site at this time. I've never received that error before under any other condition. In actuality, when this occurs, the number of times I'd refreshed the page is really pretty low (five or six), and the refreshes aren't done all that fast, relatively speaking. [2007-12-03 06:55:19] bjohnso1 at usc dot edu dot au Don't know if anyone else can relate to this, but I had PHP (5.2.4) working with Apache 2.2.4 with no problems. It was a little while ago now so I'm not absolutely certain of the event sequence, but I'm reasonably sure I installed mySQL 5.0.45 at the same time and saw it come up in the ?php phpinfo(); ? test script page I created. I've since started working with mySQL AND installed mySQL Administrator (or the whole tools collection) and now have the error referred to in this bug. So, I'm reasonably certain that this bug only affected me after installing the Administrator/Query Browser/etc toolset. Uninstalling the toolset (GUI tools) did not remedy the problem. Hope this helps. Ben Johnson. 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/41350 -- Edit this bug report at http://bugs.php.net/?id=41350edit=1
#43555 [NEW]: strtotime not parsing UK date format (dd/mm/yyyy)
From: tim dot kay at mailshack dot com Operating system: Windows 2003 SP2 PHP version: 5.2.5 PHP Bug Type: Date/time related Bug description: strtotime not parsing UK date format (dd/mm/) Description: strtotime does not parse a date in UK format properly. Server locale (in Windows) is set to English (United Kingdom) in all places configurable. The following line of code: echo setlocale(LC_ALL, ''); Comes back with the following result: English_United Kingdom.1252 I am running Apache 2.2.6. Reproduce code: --- $mydate = strtotime(20/11/2007); echo $mydate.br/; echo date(Y-M-d h:i:s, $mydate); Expected result: 1195516800 2007-Nov-20 12:00:00 Actual result: -- 1970-Jan-01 01:00:00 -- Edit bug report at http://bugs.php.net/?id=43555edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=43555r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=43555r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=43555r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=43555r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=43555r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=43555r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=43555r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=43555r=needscript Try newer version:http://bugs.php.net/fix.php?id=43555r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=43555r=support Expected behavior:http://bugs.php.net/fix.php?id=43555r=notwrong Not enough info: http://bugs.php.net/fix.php?id=43555r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=43555r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=43555r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43555r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=43555r=dst IIS Stability:http://bugs.php.net/fix.php?id=43555r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=43555r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=43555r=float No Zend Extensions: http://bugs.php.net/fix.php?id=43555r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=43555r=mysqlcfg
#43555 [Opn-Bgs]: strtotime not parsing UK date format (dd/mm/yyyy)
ID: 43555 Updated by: [EMAIL PROTECTED] Reported By: tim dot kay at mailshack dot com -Status: Open +Status: Bogus Bug Type: Date/time related Operating System: Windows 2003 SP2 PHP Version: 5.2.5 New Comment: strtotime() is not locale dependent, and simply not all formats are supported-the UK date format is one of those apparently. Some functionality to parse formats with a given format might follow in the future. Previous Comments: [2007-12-10 16:47:03] tim dot kay at mailshack dot com Description: strtotime does not parse a date in UK format properly. Server locale (in Windows) is set to English (United Kingdom) in all places configurable. The following line of code: echo setlocale(LC_ALL, ''); Comes back with the following result: English_United Kingdom.1252 I am running Apache 2.2.6. Reproduce code: --- $mydate = strtotime(20/11/2007); echo $mydate.br/; echo date(Y-M-d h:i:s, $mydate); Expected result: 1195516800 2007-Nov-20 12:00:00 Actual result: -- 1970-Jan-01 01:00:00 -- Edit this bug report at http://bugs.php.net/?id=43555edit=1
#42374 [Asn]: --as-needed causes configure failures
ID: 42374 User updated by: galtgendo at o2 dot pl Reported By: galtgendo at o2 dot pl Status: Assigned Bug Type: Feature/Change Request Operating System: Gentoo PHP Version: 5.2CVS-2007-08-23 Assigned To: jani New Comment: OK, I did some more reading on autotools. A quote from autoconf info page: -- Variable: LDFLAGS ... This variable's contents should contain options like `-s' and `-L' that affect only the behavior of the linker. ... Don't use this variable to pass library names (`-l') to the linker; use `LIBS' instead. So title of this bug should be something along the lines of: 'rewrite your macros to conform to specs instead of simply work' While doing that it may be a good idea to split all those libraries into groups, so every extension (and php itself) doesn't get linked with every libs needed for other extentions. Previous Comments: [2007-11-06 12:26:45] galtgendo at o2 dot pl Please disregard most of my last comment, I misunderstood something. I thought that --as-needed prevents linking with unused libraries, but it only marks them as unused, so above listings of ldd -u mean that it actually works, not the opposite. Anyway, what was exactly the problem that --preserve-dup-defs works around, cause the note in configure.in says only that there was a problem with older libtool, not what was it ? [2007-11-05 22:49:15] galtgendo at o2 dot pl There's a funny thing, though. Command that built in example tidy.so was : /bin/sh /var/tmp/portage/dev-lang/php-5.2.4_p20070914-r2/work/php-5.2.4_p2007091 4/libtool --silent --preserve-dup-deps --mode=link /var/tmp/portage/dev-lang/php -5.2.4_p20070914-r2/work/php-5.2.4_p20070914/meta_ccld -DPHP_ATOM_INC -I/var/tmp /portage/dev-lang/php-5.2.4_p20070914-r2/work/php-5.2.4_p20070914/include -I/var /tmp/portage/dev-lang/php-5.2.4_p20070914-r2/work/php-5.2.4_p20070914/main -I/va r/tmp/portage/dev-lang/php-5.2.4_p20070914-r2/work/php-5.2.4_p20070914 -I/usr/in clude/libxml2 -I/var/tmp/portage/dev-lang/php-5.2.4_p20070914-r2/work/php-5.2.4_ p20070914/ext/date/lib -I/usr/include/freetype2 -I/usr/include/imap -I/var/tmp/p ortage/dev-lang/php-5.2.4_p20070914-r2/work/php-5.2.4_p20070914/ext/mbstring/oni guruma -I/var/tmp/portage/dev-lang/php-5.2.4_p20070914-r2/work/php-5.2.4_p200709 14/ext/mbstring/libmbfl -I/var/tmp/portage/dev-lang/php-5.2.4_p20070914-r2/work/ php-5.2.4_p20070914/ext/mbstring/libmbfl/mbfl -I/usr/include/mysql -I/usr/includ e/postgresql/libpq-4 -I/usr/include/pspell -I/var/tmp/portage/dev-lang/php-5.2.4 _p20070914-r2/work/php-5.2.4_p20070914/TSRM -I/var/tmp/portage/dev-lang/php-5.2.4_p20070914-r2/work/php-5.2.4_p20070914/Zend -D_REENTRANT -I/usr/include -O2 -march=athlon -mtune=athlon -pipe -pthread -DZTS -Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,relro -o ext/tidy/tidy.la -export-dynamic -avoid-version -prefer-pic -module -rpath /var/tmp/portage/dev-lang/php-5.2.4_p20070914-r2/work/php-5.2.4_p20070914/modules -avoid-version -module ext/tidy/tidy.lo -ltidy -lcrypt -lcrypt -lsqlite -lhistory -lreadline -lncurses -lresolv -lm -ldl -lnsl -lxml2 -lz -lm -lgssapi -lkrb5 -lcom_err -lssl -lcrypto -ldl -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt so theoretically it should not have those dependencies, unless --preserve-dup-deps messes that up. I think I'll test this theory. Of course, this is a completely separate issue to the one this bug is about. [2007-11-05 21:39:39] galtgendo at o2 dot pl This may seem like nagging, but I wonder how are things comming along. And to add my 2c: ldd -u /usr/lib/php5/lib/php/extensions/no-debug-zts-20060613/tidy.so Unused direct dependencies: /usr/lib/libtidy-0.99.so.0 /lib/libcrypt.so.1 /usr/lib/libsqlite.so.0 /lib/libhistory.so.5 /lib/libreadline.so.5 /lib/libncurses.so.5 /lib/libresolv.so.2 /lib/libm.so.6 /lib/libdl.so.2 /lib/libnsl.so.1 /lib/libz.so.1 libgssapi.so.1 /usr/lib/libkrb5.so.22 /lib/libcom_err.so.2 /usr/lib/libssl.so.0.9.8 /usr/lib/libcrypto.so.0.9.8 /usr/lib/libxml2.so.2 /lib/libpthread.so.0 ldd -u /usr/lib/php5/lib/php/extensions/no-debug-zts-20060613/zlib.so Unused direct dependencies: /lib/libz.so.1 /lib/libcrypt.so.1 /usr/lib/libsqlite.so.0 /lib/libhistory.so.5 /lib/libreadline.so.5 /lib/libncurses.so.5 /lib/libresolv.so.2 /lib/libm.so.6 /lib/libdl.so.2 /lib/libnsl.so.1 libgssapi.so.1 /usr/lib/libkrb5.so.22 /lib/libcom_err.so.2 /usr/lib/libssl.so.0.9.8
#43554 [Opn-Csd]: Calling a non static function staticaly causes local assignment
ID: 43554 User updated by: crashrox at gmail dot com Reported By: crashrox at gmail dot com -Status: Open +Status: Closed Bug Type: Class/Object related Operating System: Tested on Solaris Windows PHP Version: 5.2.5 New Comment: This is apparently documented in the manual. Took some time to find it but seems to me it would still be a scope issue. Either way I'm wrong, so this is closed. Previous Comments: [2007-12-10 16:18:22] crashrox at gmail dot com Description: You have two classes (Class1 and Class2). Class1 calls a non static Class2 function with a Class2 variable assignment, but without a return value. The value set in Class2 is somehow assigned to Class1. If the function was set to static or the class is instantiated the problem does not occur. See code example below for better explanation... Reproduce code: --- // UNEXPECTED RESULTS class Class1 { public function __construct() { Class2::dosomething(); } } class Class2 { private $somevar; public function dosomething() { $this-somevar = 'test'; } } $x = new Class1(); print_r($x); /* // WORKS CORRECTLY class Class1 { public function __construct() { $x = new Class2(); $x-dosomething(); } } class Class2 { private $somevar; public function dosomething() { $this-somevar = 'test'; } } $x = new Class1(); print_r($x); */ Expected result: Class1 Object ( ) Actual result: -- Class1 Object ( [somevar] = test ) -- Edit this bug report at http://bugs.php.net/?id=43554edit=1
#43542 [Opn]: simpleXML thinks that comment is node
ID: 43542 User updated by: 007not at gmail dot com Reported By: 007not at gmail dot com Status: Open Bug Type: SimpleXML related Operating System: win xp sp2 PHP Version: 5.2.5 New Comment: hubert, you rigth about first test, i made mistake while i made posting of this bug. the right firts test looks such: //first test echo node:; var_dump($xml-node); echo notExitsNode:; var_dump($xml-notExitsNode); echo otherNode:; var_dump($xml-otherNode); Expected result: node: object(SimpleXMLElement)[2] public 'comment' = object(SimpleXMLElement)[4] notExitsNode: null otherNode: object(SimpleXMLElement)[2] Actual result: -- node: object(SimpleXMLElement)[2] public 'comment' = object(SimpleXMLElement)[4] notExitsNode: object(SimpleXMLElement)[2] otherNode: object(SimpleXMLElement)[2] Actually, that comment property might have been intentionally created as a way to indicate whether the node has a comment. But it is illogical, and we will have comments hell like: array(/*'comment' = 'value'*/) === array('comment' = 'value') As for your second test, I'm afraid it is incorrect may be (because i tryed to count nodes, and it must be 1 1), but when we use arrays we have problems with fake comments $i = 0; foreach ((array) $xml-node as $node) { $i++; } echo $i . \n; $i = 0; foreach ((array) $xml-otherNode as $node) { $i++; } echo $i . \n; Expected result: 0 0 Actual result: -- 1 0 # updated test: ?php $string = XML ?xml version='1.0'? document node!-- comment --/node otherNode/otherNode commentvalue/comment /document XML; $xml = simplexml_load_string($string); //first test echo node:; var_dump($xml-node); echo notExitsNode:; var_dump($xml-notExitsNode); echo otherNode:; var_dump($xml-otherNode); /* Expected result: node: object(SimpleXMLElement)[2] public 'comment' = object(SimpleXMLElement)[4] notExitsNode: null otherNode: object(SimpleXMLElement)[2] Actual result: -- node: object(SimpleXMLElement)[2] public 'comment' = object(SimpleXMLElement)[4] notExitsNode: object(SimpleXMLElement)[2] otherNode: object(SimpleXMLElement)[2] */ //second test $i = 0; foreach ($xml-node as $node) { $i++; } echo $i . \n; $i = 0; foreach ($xml-otherNode as $node) { $i++; } echo $i . \n; $i = 0; foreach ((array) $xml-node as $node) { $i++; } echo $i . \n; $i = 0; foreach ((array) $xml-otherNode as $node) { $i++; } echo $i . \n; /* Expected result: 1 1 0 0 Actual result: -- 1 1 1 0 */ //third test var_dump($xml-node-comment); var_dump($xml-otherNode-comment); //check magic echo node:\n; if (is_object($xml-node-comment)) { echo is_object === TRUE \n; } if (isset($xml-node-comment)) { echo isset === TRUE \n; } //but if (strlen($xml-node-comment) 0) { echo strlen 0\n; } if (strlen($xml-node-comment) == 0) { echo strlen == 0\n; } echo otherNode:\n; if (is_object($xml-otherNode-comment)) { echo is_object === TRUE \n; } if (isset($xml-otherNode-comment)) { echo isset === TRUE \n; } /* Expected result: node: is_object === TRUE isset === TRUE strlen == 0 otherNode: is_object === TRUE Actual result: -- node: is_object === TRUE strlen == 0 otherNode: is_object === TRUE */ Previous Comments: [2007-12-09 14:39:46] hubert dot roksor at gmail dot com Regarding your first test, I wouldn't consider that a bug. var_dump() is a debugging tool, it may expose some of the behind-the-scene magic. Actually, that comment property might have been intentionally created as a way to indicate whether the node has a comment. That would explain isset()'s behaviour in your third test, but in this case I would recommand replacing that magical property with a method such as $node-hasComment(). I guess Rob Richards will be able to shed some light here. As for your second test, I'm afraid it is incorrect: both $xml-node and $xml-otherNode should return 1 element and I don't see why having a comment as a child would change that. [2007-12-09 11:02:10] 007not at gmail dot com Description: also see http://bugs.php.net/43392 [EMAIL PROTECTED] comment: This is just normal and expected behaviour. foo!-- comment --/foo is not same as foo/foo. (try var_dump($xml); to see what happens) i made some new test for you, and try to var_dump() this var_dump(array(/*'comment' = 'value'*/)); foo!-- comment --/foo === foo/foo array(/*'comment' = 'value'*/) === array('comment' = 'value') is it still be
#43541 [Opn]: array_slice() length parameter's messed up
ID: 43541 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Open Bug Type: Arrays related Operating System: irrelevant PHP Version: 5.3CVS-2007-12-09 (CVS) New Comment: Adding this for the sake of completeness, just in case there's a decision taken to dump the zval. Index: ext/standard/array.c === RCS file: /repository/php-src/ext/standard/array.c,v retrieving revision 1.308.2.21.2.37.2.11 diff -u -r1.308.2.21.2.37.2.11 array.c --- ext/standard/array.c5 Dec 2007 19:55:31 - 1.308.2.21.2.37.2.11 +++ ext/standard/array.c10 Dec 2007 20:31:35 - @@ -2101,17 +2101,16 @@ zval *input,/* Input array */ **entry;/* An array entry */ long offset,/* Offset to get elements from */ -length;/* How many elements to get */ +length = 0;/* How many elements to get */ zend_bool preserve_keys = 0; /* Whether to preserve keys while copying to the new array or not */ int num_in,/* Number of elements in the input array */ pos; /* Current position in the array */ - zval*length_param; char *string_key; uint string_key_len; ulong num_key; HashPosition hpos; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, al|zb, input, offset, length_param, preserve_keys) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, al|lb, input, offset, length, preserve_keys) == FAILURE) { return; } @@ -2119,9 +2118,7 @@ num_in = zend_hash_num_elements(Z_ARRVAL_P(input)); /* We want all entries from offset to the end if length is not passed or is null */ - if (ZEND_NUM_ARGS() = 3 Z_TYPE_P(length_param) != IS_NULL) { - length = Z_LVAL_P(length_param); - } else { + if (length == 0) { length = num_in; } Previous Comments: [2007-12-09 23:40:08] [EMAIL PROTECTED] It's just not my day. Index: ext/standard/array.c === RCS file: /repository/php-src/ext/standard/array.c,v retrieving revision 1.308.2.21.2.37.2.11 diff -u -r1.308.2.21.2.37.2.11 array.c --- ext/standard/array.c5 Dec 2007 19:55:31 - 1.308.2.21.2.37.2.11 +++ ext/standard/array.c9 Dec 2007 23:07:13 - @@ -2120,6 +2120,7 @@ /* We want all entries from offset to the end if length is not passed or is null */ if (ZEND_NUM_ARGS() = 3 Z_TYPE_P(length_param) != IS_NULL) { + convert_to_long_ex(length_param); length = Z_LVAL_P(length_param); } else { length = num_in; [2007-12-09 23:35:55] [EMAIL PROTECTED] Fixed tests and reduced patch. I still think the initial implementation was wrong, but fixing it breaks long-established behaviour :\ Patch and tests sent to [EMAIL PROTECTED] http://news.php.net/php.internals/33887 [2007-12-09 01:03:45] [EMAIL PROTECTED] Forgot to post patch. (Is there no way to upload files?) Index: ext/standard/array.c === RCS file: /repository/php-src/ext/standard/array.c,v retrieving revision 1.308.2.21.2.37.2.11 diff -u -r1.308.2.21.2.37.2.11 array.c --- ext/standard/array.c5 Dec 2007 19:55:31 - 1.308.2.21.2.37.2.11 +++ ext/standard/array.c8 Dec 2007 23:10:28 - @@ -2101,17 +2101,16 @@ zval *input,/* Input array */ **entry;/* An array entry */ long offset,/* Offset to get elements from */ -length;/* How many elements to get */ +length = 0;/* How many elements to get */ zend_bool preserve_keys = 0; /* Whether to preserve keys while copying to the new array or not */ int num_in,/* Number of elements in the input array */ pos; /* Current position in the array */ - zval*length_param; char *string_key; uint string_key_len; ulong num_key; HashPosition hpos; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, al|zb, input, offset, length_param, preserve_keys) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, al|lb, input, offset, length, preserve_keys) == FAILURE) { return; } @@
#43556 [NEW]: SoapClient Segmentation fault on timeout
From: mkaatman at gmail dot com Operating system: linux PHP version: 5.2.5 PHP Bug Type: SOAP related Bug description: SoapClient Segmentation fault on timeout Description: Bug 33412 seems to have slipped back in. Seeing it in ubuntu's 5.2.3-1ubuntu6.2 package and CentOS 5.2.4 package. I've been able to reproduce it 100% of the time by running my requests through a proxy and just stopping the proxy. Every subsequent request gives a notice in the apache2 log. [Mon Dec 10 15:13:07 2007] [notice] child pid 11731 exit signal Segmentation fault (11) Once I start the proxy back up everything works fine. Reproduce code: --- try { $result = $soapclient-__soapCall($f,$p); print Successful Call\n; } catch (SoapFault $exception) { print SOAP EXCEPTION: $exception\n; } Expected result: No segfault. Normal SOAP timeout response. Actual result: -- [Mon Dec 10 15:13:07 2007] [notice] child pid 11731 exit signal Segmentation fault (11) -- Edit bug report at http://bugs.php.net/?id=43556edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=43556r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=43556r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=43556r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=43556r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=43556r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=43556r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=43556r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=43556r=needscript Try newer version:http://bugs.php.net/fix.php?id=43556r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=43556r=support Expected behavior:http://bugs.php.net/fix.php?id=43556r=notwrong Not enough info: http://bugs.php.net/fix.php?id=43556r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=43556r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=43556r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43556r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=43556r=dst IIS Stability:http://bugs.php.net/fix.php?id=43556r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=43556r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=43556r=float No Zend Extensions: http://bugs.php.net/fix.php?id=43556r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=43556r=mysqlcfg
#19327 [Com]: java.lang.UnsatisfiedLinkError: no php_java in java.library.path
ID: 19327 Comment by: gio_y at hotmail dot com Reported By: [EMAIL PROTECTED] Status: No Feedback Bug Type: Java related Operating System: linux debian PHP Version: 4CVS-2002-09-10 New Comment: sss Previous Comments: [2006-06-08 22:04:02] test at aol dot com That almost worked for me but apache 2.0.54 on windows xp was crashing. (php 4.4) Solution: make sure these lines are in your php.ini. The most important one is having java.library.path set to your extensions directory [Java] java.class.path = C:\PHP4\extensions\php_java.jar java.home = C:\Program Files\Java\jre1.5.0_06 java.library = C:\Program Files\Java\jre1.5.0_06\bin\client\jvm.dll java.library.path = C:\PHP4\extensions\ [2004-05-26 19:16:52] aamir at signalcommunications dot com dot au i did exprience similar problem , going by what was said here I understood what the problem was to fix it , i copyed php_java.dll to c:\jdk\jre\bin folder and it was fixed , i am running php under winXP , IIS 5 regards Aamir [2003-08-08 06:17:50] [EMAIL PROTECTED] No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to Open. Thank you. [2003-08-02 15:07:22] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip [2003-03-05 01:37:07] robustwu at sina dot com I have searched many documents on phpbuilder ,but can not worked. your information of the linux order ln saved me .I am so thankful to you .:) and If somebody have the same problem ,you can contact me by mail [EMAIL PROTECTED] 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/19327 -- Edit this bug report at http://bugs.php.net/?id=19327edit=1
#43557 [NEW]: Abstract constructor arguments can't be enforced
From: michikono at gmail dot com Operating system: linux PHP version: 5.2.5 PHP Bug Type: Class/Object related Bug description: Abstract constructor arguments can't be enforced Description: When trying to enforce arguments on constructors, PHP behaves unexpectedly. If you define the constructor as an abstract method in a parent level class, the __construct method argument datatype/count checks go out the window in children. This issue is the same whether its in an interface or abstract class. Reproduce code: --- class ExampleClass {} interface TestInterface { public function __construct(ExampleClass $var); } class Test implements TestInterface { public function __construct() {} // NO ERROR (unexpected) } Expected result: Should produce an error Actual result: -- No error is reported. -- Edit bug report at http://bugs.php.net/?id=43557edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=43557r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=43557r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=43557r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=43557r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=43557r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=43557r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=43557r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=43557r=needscript Try newer version:http://bugs.php.net/fix.php?id=43557r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=43557r=support Expected behavior:http://bugs.php.net/fix.php?id=43557r=notwrong Not enough info: http://bugs.php.net/fix.php?id=43557r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=43557r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=43557r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43557r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=43557r=dst IIS Stability:http://bugs.php.net/fix.php?id=43557r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=43557r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=43557r=float No Zend Extensions: http://bugs.php.net/fix.php?id=43557r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=43557r=mysqlcfg
#43557 [Opn]: Abstract constructor arguments can't be enforced
ID: 43557 Updated by: [EMAIL PROTECTED] Reported By: michikono at gmail dot com Status: Open Bug Type: Class/Object related Operating System: linux PHP Version: 5.2.5 New Comment: PHP 5.3: Fatal error: Declaration of Test::__construct() must be compatible with that of TestInterface::__construct() Previous Comments: [2007-12-10 23:40:50] michikono at gmail dot com Description: When trying to enforce arguments on constructors, PHP behaves unexpectedly. If you define the constructor as an abstract method in a parent level class, the __construct method argument datatype/count checks go out the window in children. This issue is the same whether its in an interface or abstract class. Reproduce code: --- class ExampleClass {} interface TestInterface { public function __construct(ExampleClass $var); } class Test implements TestInterface { public function __construct() {} // NO ERROR (unexpected) } Expected result: Should produce an error Actual result: -- No error is reported. -- Edit this bug report at http://bugs.php.net/?id=43557edit=1
#43558 [NEW]: array_walk() array_walk_recursive() return value not as documented.
From: dharma dot yp at in dot ibm dot com Operating system: Windows, Linux PHP version: 6CVS-2007-12-11 (snap) PHP Bug Type: Arrays related Bug description: array_walk() array_walk_recursive() return value not as documented. Description: The return value returned by array_walk() and array_walk_recursive() not as per the documentation. As per the documentation when these function fail it is expected to return FALSE, but it returns different values. Documentation links: http://in.php.net/manual/en/function.array-walk.php http://in.php.net/manual/en/function.array-walk-recursive.php Below are two scenarios where return value differ : 1) When function is called with nonexistent callback function, it returns NULL (expected value is bool(false) ) as return value along with warning message(warning message as expected) 2)When there are less number of arguments passed for the callback function then it return bool(true) along with a warning message. As we notice the function does get called and the code is executed, hence should it be considered as complete and return value be bool(true) ? or since there is a warning indicating that there were problem and the return value be bool(false) ? It would be nice to have consistent return value sync the code with the documentation or documentation with the current code. Reproduce code: --- ?php function actual_function($index, $key, $user_data) { echo callback function called\n; } $input = array( array(1), array(3)); var_dump( array_walk($input, non_existent)); var_dump( array_walk($input, actual_function)); var_dump( array_walk_recursive($input, non_existent)); var_dump( array_walk_recursive($input, actual_function)); ? Expected result: Warning: array_walk() expects parameter 2 to be valid callback, string given in %s on line %d bool(false) Warning: Missing argument 3 for actual_function() in %s on line %d bool(false) Warning: array_walk_recursive() expects parameter 2 to be valid callback, string given in %s on line %d bool(false) Warning: Missing argument 3 for actual_function() in %s on line %d bool(false) Warning: Missing argument 3 for actual_function() in %s on line %d bool(false) Actual result: -- Warning: array_walk() expects parameter 2 to be valid callback, string given in %s on line %d NULL Warning: Missing argument 3 for actual_function() in %s on line %d callback function called bool(true) Warning: array_walk_recursive() expects parameter 2 to be valid callback, string given in %s on line %d NULL Warning: Missing argument 3 for actual_function() in %s on line %d callback function called bool(true) Warning: Missing argument 3 for actual_function() in %s on line %d callback function called bool(true) -- Edit bug report at http://bugs.php.net/?id=43558edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=43558r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=43558r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=43558r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=43558r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=43558r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=43558r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=43558r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=43558r=needscript Try newer version:http://bugs.php.net/fix.php?id=43558r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=43558r=support Expected behavior:http://bugs.php.net/fix.php?id=43558r=notwrong Not enough info: http://bugs.php.net/fix.php?id=43558r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=43558r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=43558r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43558r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=43558r=dst IIS Stability:http://bugs.php.net/fix.php?id=43558r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=43558r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=43558r=float No Zend Extensions: http://bugs.php.net/fix.php?id=43558r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=43558r=mysqlcfg
#43558 [Opn]: array_walk() array_walk_recursive() return value not as documented.
ID: 43558 User updated by: dharma dot yp at in dot ibm dot com Reported By: dharma dot yp at in dot ibm dot com Status: Open Bug Type: Arrays related Operating System: Windows, Linux PHP Version: 6CVS-2007-12-11 (snap) New Comment: This problem is also there with PHP5.3 Previous Comments: [2007-12-11 05:01:27] dharma dot yp at in dot ibm dot com Description: The return value returned by array_walk() and array_walk_recursive() not as per the documentation. As per the documentation when these function fail it is expected to return FALSE, but it returns different values. Documentation links: http://in.php.net/manual/en/function.array-walk.php http://in.php.net/manual/en/function.array-walk-recursive.php Below are two scenarios where return value differ : 1) When function is called with nonexistent callback function, it returns NULL (expected value is bool(false) ) as return value along with warning message(warning message as expected) 2)When there are less number of arguments passed for the callback function then it return bool(true) along with a warning message. As we notice the function does get called and the code is executed, hence should it be considered as complete and return value be bool(true) ? or since there is a warning indicating that there were problem and the return value be bool(false) ? It would be nice to have consistent return value sync the code with the documentation or documentation with the current code. Reproduce code: --- ?php function actual_function($index, $key, $user_data) { echo callback function called\n; } $input = array( array(1), array(3)); var_dump( array_walk($input, non_existent)); var_dump( array_walk($input, actual_function)); var_dump( array_walk_recursive($input, non_existent)); var_dump( array_walk_recursive($input, actual_function)); ? Expected result: Warning: array_walk() expects parameter 2 to be valid callback, string given in %s on line %d bool(false) Warning: Missing argument 3 for actual_function() in %s on line %d bool(false) Warning: array_walk_recursive() expects parameter 2 to be valid callback, string given in %s on line %d bool(false) Warning: Missing argument 3 for actual_function() in %s on line %d bool(false) Warning: Missing argument 3 for actual_function() in %s on line %d bool(false) Actual result: -- Warning: array_walk() expects parameter 2 to be valid callback, string given in %s on line %d NULL Warning: Missing argument 3 for actual_function() in %s on line %d callback function called bool(true) Warning: array_walk_recursive() expects parameter 2 to be valid callback, string given in %s on line %d NULL Warning: Missing argument 3 for actual_function() in %s on line %d callback function called bool(true) Warning: Missing argument 3 for actual_function() in %s on line %d callback function called bool(true) -- Edit this bug report at http://bugs.php.net/?id=43558edit=1
#43559 [NEW]: array_merge_recursive() doesn't behave as expected with duplicate NULL values
From: kraghuba at in dot ibm dot com Operating system: Linux, windows PHP version: 5.2CVS-2007-12-11 (snap) PHP Bug Type: Arrays related Bug description: array_merge_recursive() doesn't behave as expected with duplicate NULL values Description: When two arrays having common key and value are passed as argument to array_merge_recursive(), the function behaves in an unexpected way for NULL values. It outputs an empty array instead of an array having two elements, both being NULL. Whereas, the function behaves in an expected way with values other than NULL. This behavior can be observed in the testcase array_merge_recursive_variation9.phpt. This behavior is observed in PHP5.3 and PHP6 as well. I tried creating an array with two null values and it works: ?php $a = array(NULL, NULL); var_dump($a); ? output: array(2) { [0]= NULL [1]= NULL } Reproduce code: --- ?php $a1 = array( 'b' = 'string' ); $a2 = array( 'b' = 'string' ); $a3 = array( 'b' = NULL ); $a4 = array( 'b' = NULL ); var_dump( array_merge_recursive($a1, $a2) ); // expected output var_dump( array_merge_recursive($a3, $a4) ); // unexpecteed output ? Expected result: array(1) { [b]= array(2) { [0]= string(6) string [1]= string(6) string } } array(1) { [b]= array(2) { [0]= NULL [1]= NULL } } Actual result: -- array(1) { [b]= array(2) { [0]= string(6) string [1]= string(6) string } } array(1) { [b]= array(0) { } } -- Edit bug report at http://bugs.php.net/?id=43559edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=43559r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=43559r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=43559r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=43559r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=43559r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=43559r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=43559r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=43559r=needscript Try newer version:http://bugs.php.net/fix.php?id=43559r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=43559r=support Expected behavior:http://bugs.php.net/fix.php?id=43559r=notwrong Not enough info: http://bugs.php.net/fix.php?id=43559r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=43559r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=43559r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43559r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=43559r=dst IIS Stability:http://bugs.php.net/fix.php?id=43559r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=43559r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=43559r=float No Zend Extensions: http://bugs.php.net/fix.php?id=43559r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=43559r=mysqlcfg
#43560 [NEW]: CGI Error on IIS 6.0
From: bluemoon dot kmutt at gmail dot com Operating system: Windows Server 2003 PHP version: 5.2.5 PHP Bug Type: IIS related Bug description: CGI Error on IIS 6.0 Description: System Spec: Windows Server 2003 IIS 6.0 PHP 5.2.5 -- I have been create website and distributed. Website can used and display with no error. Then few days ago my website display some following error --- CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. --- I don't know what happened. So I copy all of file to another drive and re-distribute it and map to the same website and recheck it, it can display with no above error. And then I rebuild it on the same drive that occur and error with difference folder name, it display error again.So I install Apache Web server and map to the same folder. No error display with Apache web server. Anybody can help me to fix this problem? Thank you so much for you help. Reproduce code: --- ? // Just this simple souce code, it display an error. phpinfo(); ? Expected result: CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. Actual result: -- Output as the PHP Infomation Page. -- Edit bug report at http://bugs.php.net/?id=43560edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=43560r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=43560r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=43560r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=43560r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=43560r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=43560r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=43560r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=43560r=needscript Try newer version:http://bugs.php.net/fix.php?id=43560r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=43560r=support Expected behavior:http://bugs.php.net/fix.php?id=43560r=notwrong Not enough info: http://bugs.php.net/fix.php?id=43560r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=43560r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=43560r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43560r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=43560r=dst IIS Stability:http://bugs.php.net/fix.php?id=43560r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=43560r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=43560r=float No Zend Extensions: http://bugs.php.net/fix.php?id=43560r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=43560r=mysqlcfg
#43561 [NEW]: Selecting large numbers of rows results in OOM
From: php at seven dot net dot nz Operating system: Linux PHP version: 5.2.5 PHP Bug Type: PDO related Bug description: Selecting large numbers of rows results in OOM Description: Selecting a large number of rows in a prepared statement results in an OOM error after execute() is called. The SQL server is located on a different box. I have not been able to pinpoint the exact number of rows as it is a moving target. It has failed on as low as 20k and as high as 50k. Obviously it would result in OOM if I had selected everything into an array, but from what I gather results should not be being sent to PHP until the fetchXYZ functions are called. Or am I wrong? It worked with 5.2.0 on the same box. Reproduce code: --- ?php $database = new PDO ( 'dblib:host=10.9.8.213;dbname=realenz', 'sa', 'loo0nieP' ); $query = SELECT TOP 5 * FROM nc_listing_full; $statement = $database-prepare ($query); $statement-execute (); ? Expected result: Query to execute Actual result: -- Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4 bytes) in /www/data/realestate-dev/scripts/htdocs/cron/rebuild_listings.php on line 12 -- Edit bug report at http://bugs.php.net/?id=43561edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=43561r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=43561r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=43561r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=43561r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=43561r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=43561r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=43561r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=43561r=needscript Try newer version:http://bugs.php.net/fix.php?id=43561r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=43561r=support Expected behavior:http://bugs.php.net/fix.php?id=43561r=notwrong Not enough info: http://bugs.php.net/fix.php?id=43561r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=43561r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=43561r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=43561r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=43561r=dst IIS Stability:http://bugs.php.net/fix.php?id=43561r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=43561r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=43561r=float No Zend Extensions: http://bugs.php.net/fix.php?id=43561r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=43561r=mysqlcfg