#42584 [Opn->Bgs]: mssql functions trigger errors twice
ID: 42584 Updated by: [EMAIL PROTECTED] Reported By: miracle dot rpz at gmail dot com -Status: Open +Status: Bogus Bug Type: MSSQL related Operating System: * PHP Version: 5.2.4 New Comment: This is bogus, because mssql_select_db() throws two warnings: 1) Because it cannot connect 2) Function cannot be used because no link has been made to a server Change the error_handler() function to this and it will expose it: function error_handler($errno, $error) { echo $error, PHP_EOL; } mssql_select_db(): Unable to connect to server: (null) mssql_select_db(): A link to the server could not be established Previous Comments: [2007-09-07 11:48:42] miracle dot rpz at gmail dot com Yes, this actual result from cli. Throw mod_php this code output "hello" three times, but fopen('nonexisten.file','r'); #trigger error handler only once. after output 'Hello world' - program hung-up (mod_php & cli) [2007-09-07 11:05:54] [EMAIL PROTECTED] Are you running the script on command line? (as there it's perfectly normal to get all errors twice..) [2007-09-07 08:17:04] miracle dot rpz at gmail dot com Description: mssql_functions trigger errors twice. It causes program hang-up if error_handler contains exit-functions Reproduce code: --- Expected result: Hello World Actual result: -- Hello World Hello World -- Edit this bug report at http://bugs.php.net/?id=42584&edit=1
#27421 [NoF->Csd]: mbstring.func_overload set in .htaccess becomes global
ID: 27421 Updated by: [EMAIL PROTECTED] Reported By: php at strategma dot bg -Status: No Feedback +Status: Closed Bug Type: mbstring related Operating System: * PHP Version: 5.2.5 Assigned To: hirokawa New Comment: This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. The fix is already applied in PHP 5.2 CVS and PHP 5.3 CVS. The snapshot is also available from http://snaps.php.net Previous Comments: [2008-09-21 19:39:42] dollar80 at freemail dot hu I need reloed some of moves. [2008-09-19 14:37:56] torkel at eonbit dot com I applied the patch from 'david at dfoerster dot de' and it solved the issue. In our case the mbstring.func_overload was set inside an apache virtual host, and the setting became global. I.e. leaked into other virtual hosts. Thank you very much for providing this. It has been a real headache for on of out customer. Can you please include it in the next release? I'll be happy to provide more information. [2008-09-10 05:12:17] awad3 at hotmail dot com I Download a file from Internet I coudnt Open It Please Can you Help Me ? The File: Attachment.PhP [2008-08-08 10:47:47] david at dfoerster dot de Thank you for applying the patch. Is it also in the 5.2 branch? Now this is fixed you might want to remove the note about the per-directory-context from the documentation or with which version it's supposed to work. [2008-08-05 01:00:01] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". 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/27421 -- Edit this bug report at http://bugs.php.net/?id=27421&edit=1
#42765 [Opn->Asn]: PDO ODBC: Long binary field in query result crashes PHP ("Out of memory" error)
ID: 42765 Updated by: [EMAIL PROTECTED] Reported By: sms at inbox dot ru -Status: Open +Status: Assigned Bug Type: PDO related Operating System: Windows 2000 SP4 PHP Version: 5.2.4 -Assigned To: +Assigned To: pajoye New Comment: Thanks for the patches and testing. About compiling php on windows, take a look here: http://wiki.php.net/internals/windows Previous Comments: [2008-10-03 15:34:14] jeffreybolle at gmail dot com I had the same problem recently. I'd like to thank csa for the great source code patch. Recompiling the source under windows wasn't easy and it took me many hours to piece together all the software and libraries required. The result was a fixed extension that can access large blob files, this has been tested under Windows Vista 32bit. I thought I'd post a link for the compiled extension (PHP 5.2.6) in case any other windows users want to make use of this fix without going through the hassle of learning how to compile PHP from source. http://s3.paramorphicdesigns.com/random/php/php_pdo_odbc.dll If there are any problems feel free to contact me at [EMAIL PROTECTED] Jeffrey [2008-06-10 09:08:40] csa at dside dot dyndns dot org By the way feel free to contact me on [EMAIL PROTECTED] if you have problems with this patches. [2008-06-10 09:06:02] csa at dside dot dyndns dot org I got the same problem on Linux (64bit, php 5.2.6). Actually, the problem is existing in all configurations. I have take a brief look through php sources. The bug is in pdo_odbc code and affects all architectures and underlying database engines. Actually it is in 'ext/pdo_odbc/odbc_stmt.c', function 'odbc_stmt_describe'. The 'displaysize' variable is expected to contain estimated size of the column. This could be a negative number if BLOB or TEXT data is stored (since the record sizes could seriously vary). However, later in this function the check on data size does not consider negative numbers. This causes the described behavior. This patch solves problem for me: http://dside.dyndns.org/projects/patches.dir/php-ds-odbc_blob.patch A Linux user trying to access MSSQL over FreeTDS may be interested in the following patches as well: http://dside.dyndns.org/projects/patches.dir/freetds-ds-odbc.patch http://dside.dyndns.org/projects/patches.dir/php-ds-odbc64.patch [2007-09-27 18:07:29] carlton dot whitehead at cebesius dot com I encountered this bug with this setup: Windows Server 2003 SP2 32bit IIS 6 PHP 5.2.4 MS SQL Server 2005 Express SP2 PDO ODBC reproduce code: --- prepare($stp); $execResult = $ps->execute(); var_export($execResult, true); } catch (PDOException $e) { die($e->getMessage()); } ?> Expected result: output to browser: true Actual result: -- *Fatal error*: Out of memory (allocated 262144) (tried to allocate 4294967295 bytes) in *C:\Inetpub\wwwroot\FMarchive\lobtestPdoOdbc.php* on line *9* plain ODBC reproduce code: -- Expected result: output to browser: true Actual result: -- output to browser: true (this indicates odbc_execute worked correctly) [2007-09-26 11:00:15] sms at inbox dot ru Description: With PDO ODBC I can't get long binary data from Microsoft SQL Server (image and varbinary(MAX) fields). PDO->query, PDOStatement->execute() always result in PHP "Out of memory" error, even if output contains no rows. The same queries work fine with ODBC unified extension. Reproduce code: --- query("select [nbin] from [atts] where [id]=1"); ?> Expected result: No PHP fatal errors Actual result: -- PHP Fatal error: Out of memory (allocated 262144) (tried to allocate 4294967295 bytes) in D:\Web\test.php on line 3 -- Edit this bug report at http://bugs.php.net/?id=42765&edit=1
#46220 [Com]: Writing something to a static var causes a crash instead of on error
ID: 46220 Comment by: typo3 at maltejansen dot de Reported By: typo3 at maltejansen dot de Status: Feedback Bug Type: Reproducible crash Operating System: Windows XP SP2 PHP Version: 5.3.0alpha2 New Comment: Hi, I have just tested the latest SnapShot and there is no other result. But i have added a simple FileLogger to the class F3::Testing::Model::TestRunner (constructor) : $log->log('$FLOW3->initializeFLOW3()', 1, NULL, 'Testing', __CLASS__); ---> $FLOW3->initializeFLOW3(); <--- $log->log('$componentManager', 1, NULL, 'Testing', __CLASS__); self::$componentManager = $FLOW3->getComponentManager(); self::$componentManager->unregisterComponent('F3::FLOW3::Session::SessionInterface'); self::$componentManager->registerComponent('F3::FLOW3::Session::SessionInterface', 'F3::FLOW3::Session::Transient'); And it's not the static part, but the line above. Although it's crashing, the FileLogger still write logs to the file after "$FLOW3->initializeFLOW3();" (The FLOW-Framework is initializied twice. Once for the framework itself and once for the testing framework.) After talking to the one of the chef-programmers, it's seems to be only on windows plattforms. They are using Linux. By the way, the Logging of PHP says: [some time] [notice] Parent: child process exited with status 0 -- Restarting. ... Previous Comments: [2008-10-03 10:16:44] typo3 at maltejansen dot de I just added some echo-output in each line of the construtor of F3::Testing::Model:TestRunner. An now I got no crash but Fatal Error. I have never seen such an message before and looks not like one from the FLOW3-Framework... ( ! ) Fatal error: Call to a member function getComponentManager() on a non-object in D:\workspace-flow3\htdocs\development\Packages\Testing\Classes\Model\F3_Testing_Model_TestRunner.php on line 0 Call Stack # TimeMemory FunctionLocation 1 0.0007 337536 {main}( ) ..\index.php:0 2 0.0251 590568 F3::FLOW3->run( ) ..\index.php:30 3 37.2597 31130128 F3::FLOW3::MVC::Web::RequestHandler->handleRequest( ) ..\F3_FLOW3.php:443 4 37.3568 31149368F3::FLOW3::MVC::Dispatcher->dispatch( ) ..\F3_FLOW3_MVC_Web_RequestHandler.php:85 5 37.3571 31149368 F3::FLOW3::MVC::Dispatcher->getPreparedController( ) ..\F3_FLOW3_MVC_Dispatcher.php:123 6 37.3576 31149728F3::FLOW3::Component::Factory->getComponent( ) ..\F3_FLOW3_MVC_Dispatcher.php:141 7 37.3576 31149728 F3::FLOW3::Component::ObjectBuilder->createComponentObject( ) ..\F3_FLOW3_Component_Factory.php:121 8 37.3656 31161256 F3::FLOW3::Component::ObjectBuilder->injectSetterProperties( ) ..\F3_FLOW3_Component_ObjectBuilder.php:110 9 37.3656 31161256F3::FLOW3::Component::Factory->getComponent( ) ..\F3_FLOW3_Component_ObjectBuilder.php:271 10 37.3657 31161256 F3::FLOW3::Component::ObjectBuilder->createComponentObject( ) ..\F3_FLOW3_Component_Factory.php:115 11 37.3669 31161408ReflectionClass->newInstanceArgs( ) ..\F3_FLOW3_Component_ObjectBuilder.php:103 12 37.3670 31161480F3::Testing::AbstractTestRunner->__construct( ) ..\F3_Testing_AbstractTestRunner.php:0 13 37.3670 31161480F3::FLOW3::Component::Factory->getComponent( ) ..\F3_Testing_AbstractTestRunner.php:87 14 37.3671 31161624 F3::FLOW3::Component::ObjectBuilder->createComponentObject( ) ..\F3_FLOW3_Component_Factory.php:121 15 38.4300 31354576ReflectionClass->newInstanceArgs( ) ..\F3_FLOW3_Component_ObjectBuilder.php:103 16 38.4300 31354576F3::Testing::Model::TestRunner->__construct( ) ..\F3_Testing_Model_TestRunner.php:0 ( ! ) Fatal error: Exception thrown without a stack frame in Unknown on line 0 Call Stack # TimeMemory FunctionLocation 1 0.0007 337536 {main}( ) ..\index.php:0 2 0.0251 590568 F3::FLOW3->run( ) ..\index.php:30 3 37.2597 31130128 F3::FLOW3::MVC::Web::RequestHandler->handleRequest( ) ..\F3_FLOW3.php:443 4 37.3568 31149368F3::FLOW3::MVC::Dispatcher->dispatch( ) ..\F3_FLOW3_MVC_Web_RequestHandler.php:85 5 37.3571 31149368 F3::FLOW3::MVC::Dispatcher->getPreparedController( ) ..\F3_FLOW3_MVC_Dispatcher.php:123 6 37.3576 31149728F3::FLOW3::Component::Factory->getComponent( ) ..\F3_FLOW3_MVC_Dispatcher.php:141 7 37.3576 31149728 F3::FLOW3::Component::ObjectBuilder->createComponentObject( ) ..\F3_FLOW3_Component_Factory.php:121 8 37.3656 31161256 F3::FLOW3::Component::ObjectBuilder->injectSetterProperties( ) ..\F3_FLOW3_Component_ObjectBuilder.php:110 9 37.3656 31161256F3::FLOW3::Component:
#44018 [Com]: RecursiveDirectoryIterator options inconsistancy
ID: 44018 Comment by: jordan dot raub at dataxltd dot com Reported By: jordan dot raub at dataxltd dot com Status: Open Bug Type: SPL related Operating System: * PHP Version: 5.2.5 Assigned To: helly New Comment: this also got reintroduced to 5.3, tests fail w/ 5.3alpha2 Previous Comments: [2008-09-30 22:18:50] jordan dot raub at dataxltd dot com patch diff php5.2-200809302030/ext/spl/spl_directory.c php52/ext/spl/spl_directory.c 683,686c683 < } else if (SPL_FILE_DIR_CURRENT(intern, SPL_FILE_DIR_CURRENT_AS_FILEINFO)) { < spl_filesystem_object_get_file_name(intern TSRMLS_CC); < spl_filesystem_object_create_type(0, intern, SPL_FS_INFO, NULL, return_value TSRMLS_CC); < } else { --- > } else if (SPL_FILE_DIR_CURRENT(intern, SPL_FILE_DIR_CURRENT_AS_SELF)) { 688a686,688 > } else { > spl_filesystem_object_get_file_name(intern TSRMLS_CC); > spl_filesystem_object_create_type(0, intern, SPL_FS_INFO, NULL, return_value TSRMLS_CC); 966c966 < long flags = SPL_FILE_DIR_KEY_AS_PATHNAME|SPL_FILE_DIR_CURRENT_AS_FILEINFO; --- > long flags = SPL_FILE_DIR_KEY_AS_PATHNAME|SPL_FILE_DIR_CURRENT_AS_SELF; 1258c1258,1260 < } else if (SPL_FILE_DIR_CURRENT(object, SPL_FILE_DIR_CURRENT_AS_FILEINFO)) { --- > } else if (SPL_FILE_DIR_CURRENT(object, SPL_FILE_DIR_CURRENT_AS_SELF)) { > *data = (zval**)&iterator->intern.data; > } else { 1265,1266d1266 < } else { < *data = (zval**)&iterator->intern.data; diff php5.2-200809302030/ext/spl/spl_directory.h php52/ext/spl/spl_directory.h 96,97c96,97 < #define SPL_FILE_DIR_CURRENT_AS_FILEINFO 0x /* make RecursiveDirectoryTree::current() return SplFileInfo */ < #define SPL_FILE_DIR_CURRENT_AS_SELF 0x0010 /* make RecursiveDirectoryTree::current() return getSelf() */ --- > #define SPL_FILE_DIR_CURRENT_AS_FILEINFO 0x0010 /* make RecursiveDirectoryTree::current() return SplFileInfo */ > #define SPL_FILE_DIR_CURRENT_AS_SELF 0x /* make RecursiveDirectoryTree::current() return getSelf() */ UnitTest --TEST-- Bug #44018 (RecursiveDirectoryIterator options inconsistancy) --FILE-- $file) { if(strpos($key, '/tests') !== false) { echo get_class($file) . "\n"; } } $options = 0; foreach(new RecursiveDirectoryIterator(dirname(dirname(__FILE__)), $options) as $key => $file) { if(strpos($key, '/tests') !== false) { echo get_class($file) . "\n"; } } $options = RecursiveDirectoryIterator::CURRENT_AS_FILEINFO; foreach(new RecursiveDirectoryIterator(dirname(dirname(__FILE__)), $options) as $key => $file) { if(strpos($key, '/tests') !== false) { echo get_class($file) . "\n"; } } $options = RecursiveDirectoryIterator::KEY_AS_FILENAME; foreach(new RecursiveDirectoryIterator(dirname(dirname(__FILE__)), $options) as $key => $file) { if('tests' === $key) { echo get_class($file) . "\n"; } } $options = RecursiveDirectoryIterator::CURRENT_AS_FILEINFO | RecursiveDirectoryIterator::KEY_AS_FILENAME; foreach(new RecursiveDirectoryIterator(dirname(dirname(__FILE__)), $options) as $key => $file) { if('tests' === $key) { echo get_class($file) . "\n"; } } ?> --EXPECTF-- RecursiveDirectoryIterator RecursiveDirectoryIterator SplFileInfo RecursiveDirectoryIterator SplFileInfo [2008-09-30 21:32:34] jordan dot raub at dataxltd dot com re-opened [2008-09-30 21:32:02] jordan dot raub at dataxltd dot com Broken again... here it is from a snapshot... looks like CURRENT_AS_FILEINFO == 0 now $options not passed string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest/dir" object(SplFileInfo)#3 (0) { } string(83) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest/RecursiveDirectoryIteratorTest.php" object(SplFileInfo)#4 (0) { } $options = 0 string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest/dir" object(SplFileInfo)#3 (0) { } string(83) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest/RecursiveDirectoryIteratorTest.php" object(SplFileInfo)#4 (0) { } $options = 0 string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest/dir" object(SplFileInfo)#3 (0) { } string(83) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest/RecursiveDirectoryIteratorTest.php" object(SplFileInfo)#4 (0) { } $options = 100 string(3) "dir" object(SplFileInfo)#3 (0) { } string(34) "RecursiveDirectoryIteratorTest.php" object(SplFileInfo)#4 (0) { } $options = 100 string(3) "dir" object(SplFileInfo)#3 (0) { } string(34) "RecursiveDirectoryIteratorTest.php" object(SplFileInfo)#4 (0) { } [2008-02-05 16:13:52] jordan
#46211 [Bgs]: strtotime give wrong result when DST changes
ID: 46211 User updated by: cmt042 at motorola dot com Reported By: cmt042 at motorola dot com Status: Bogus Bug Type: Date/time related Operating System: UNIX PHP Version: 5.2.6 New Comment: Can you have a close look at the actual and expected result? The DST change does make the 3rd role in the Actual result right. But it's the 4th role and 5 role which is not right, as I mentioned in the expected result. Time should not freeze for one hour after changed in DST. The DST website did not mention this rule at all. Here is the printout of the return of strtotime function. 1236493432 1236497032 1236500632 1236500632 //one hour lost. expected is 1236500632+ 3600 1236504232 //same here The absolute time value should not be affected by DST. Previous Comments: [2008-10-01 23:56:47] [EMAIL PROTECTED] We are happy to tell you that you just discovered Daylight Savings Time. For more information see: http://webexhibits.org/daylightsaving/b.html Instead of using mktime/date consider using gmmktime and gmdate which do not suffer from DST. [2008-10-01 15:19:04] cmt042 at motorola dot com Description: When DST changes, the strtotime function give back wrong result. Reproduce code: --- // Need to adjust the day or hour numbers when run the code to make it cross the DST, Mar 8th 2:00AM 2009 $output = array(); for ($i = 15; $i <=19; $i++) { $t = strtotime("+157 days +${i} hours"); $output[] = date("r",$t); } foreach ($output as $line) print $line . "\n"; Expected result: Sun, 08 Mar 2009 00:54:09 -0600 Sun, 08 Mar 2009 01:54:09 -0600 Sun, 08 Mar 2009 03:54:09 -0500 Sun, 08 Mar 2009 04:54:09 -0500 Sun, 08 Mar 2009 05:54:09 -0500 Actual result: -- Sun, 08 Mar 2009 00:54:09 -0600 Sun, 08 Mar 2009 01:54:09 -0600 Sun, 08 Mar 2009 03:54:09 -0500 Sun, 08 Mar 2009 03:54:09 -0500 Sun, 08 Mar 2009 04:54:09 -0500 -- Edit this bug report at http://bugs.php.net/?id=46211&edit=1
#46226 [NEW]: Create new namespace __autoload-type function
From: phpbugs at sevenlight dot com Operating system: OSX 10.5.5 PHP version: 5.3.0alpha2 PHP Bug Type: Feature/Change Request Bug description: Create new namespace __autoload-type function Description: I suggest adding a new function called __import() or __use() or something similar to autoload namespaces when they are used() but undefined. Reproduce code: --- core.php some_other_file.php Expected result: Auto-Importing Library::DB::Connector Auto-Importing Library::Other::Stuff -- Edit bug report at http://bugs.php.net/?id=46226&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=46226&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=46226&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=46226&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=46226&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=46226&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=46226&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=46226&r=needscript Try newer version:http://bugs.php.net/fix.php?id=46226&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=46226&r=support Expected behavior:http://bugs.php.net/fix.php?id=46226&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=46226&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=46226&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=46226&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=46226&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=46226&r=dst IIS Stability:http://bugs.php.net/fix.php?id=46226&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=46226&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=46226&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=46226&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=46226&r=mysqlcfg
#42765 [Com]: PDO ODBC: Long binary field in query result crashes PHP ("Out of memory" error)
ID: 42765 Comment by: jeffreybolle at gmail dot com Reported By: sms at inbox dot ru Status: Open Bug Type: PDO related Operating System: Windows 2000 SP4 PHP Version: 5.2.4 New Comment: I had the same problem recently. I'd like to thank csa for the great source code patch. Recompiling the source under windows wasn't easy and it took me many hours to piece together all the software and libraries required. The result was a fixed extension that can access large blob files, this has been tested under Windows Vista 32bit. I thought I'd post a link for the compiled extension (PHP 5.2.6) in case any other windows users want to make use of this fix without going through the hassle of learning how to compile PHP from source. http://s3.paramorphicdesigns.com/random/php/php_pdo_odbc.dll If there are any problems feel free to contact me at [EMAIL PROTECTED] Jeffrey Previous Comments: [2008-06-10 09:08:40] csa at dside dot dyndns dot org By the way feel free to contact me on [EMAIL PROTECTED] if you have problems with this patches. [2008-06-10 09:06:02] csa at dside dot dyndns dot org I got the same problem on Linux (64bit, php 5.2.6). Actually, the problem is existing in all configurations. I have take a brief look through php sources. The bug is in pdo_odbc code and affects all architectures and underlying database engines. Actually it is in 'ext/pdo_odbc/odbc_stmt.c', function 'odbc_stmt_describe'. The 'displaysize' variable is expected to contain estimated size of the column. This could be a negative number if BLOB or TEXT data is stored (since the record sizes could seriously vary). However, later in this function the check on data size does not consider negative numbers. This causes the described behavior. This patch solves problem for me: http://dside.dyndns.org/projects/patches.dir/php-ds-odbc_blob.patch A Linux user trying to access MSSQL over FreeTDS may be interested in the following patches as well: http://dside.dyndns.org/projects/patches.dir/freetds-ds-odbc.patch http://dside.dyndns.org/projects/patches.dir/php-ds-odbc64.patch [2007-09-27 18:07:29] carlton dot whitehead at cebesius dot com I encountered this bug with this setup: Windows Server 2003 SP2 32bit IIS 6 PHP 5.2.4 MS SQL Server 2005 Express SP2 PDO ODBC reproduce code: --- prepare($stp); $execResult = $ps->execute(); var_export($execResult, true); } catch (PDOException $e) { die($e->getMessage()); } ?> Expected result: output to browser: true Actual result: -- *Fatal error*: Out of memory (allocated 262144) (tried to allocate 4294967295 bytes) in *C:\Inetpub\wwwroot\FMarchive\lobtestPdoOdbc.php* on line *9* plain ODBC reproduce code: -- Expected result: output to browser: true Actual result: -- output to browser: true (this indicates odbc_execute worked correctly) [2007-09-26 11:00:15] sms at inbox dot ru Description: With PDO ODBC I can't get long binary data from Microsoft SQL Server (image and varbinary(MAX) fields). PDO->query, PDOStatement->execute() always result in PHP "Out of memory" error, even if output contains no rows. The same queries work fine with ODBC unified extension. Reproduce code: --- query("select [nbin] from [atts] where [id]=1"); ?> Expected result: No PHP fatal errors Actual result: -- PHP Fatal error: Out of memory (allocated 262144) (tried to allocate 4294967295 bytes) in D:\Web\test.php on line 3 -- Edit this bug report at http://bugs.php.net/?id=42765&edit=1
#46225 [NEW]: Allow for optional arguments to __toString() magic method
From: phpbugs at sevenlight dot com Operating system: OSX 10.5.5 PHP version: 5.3.0alpha2 PHP Bug Type: Feature/Change Request Bug description: Allow for optional arguments to __toString() magic method Description: I believe it should be possible to have optional arguments to the __toString() magic method to allow for explicitly changing the behaviour of this function. I understand why you cannot have any required arguments, but I do not see why it would not be possible to have optional arguments that would define the default behaviour. Reproduce code: --- class Test { public function __toString($bDebug = FALSE) { return $bDebug ? 'This is the debugging output' : 'This is the default output'; } } $o = new Test(); echo $o . "\n"; echo $o->__toString(TRUE) . "\n"; Expected result: This is the default output This is the debugging output Actual result: -- Fatal error: Method Test::__tostring() cannot take arguments in /srv/www/test/toString.php on line 3 -- Edit bug report at http://bugs.php.net/?id=46225&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=46225&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=46225&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=46225&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=46225&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=46225&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=46225&r=needtrace Need Reproduce Script:http://bugs.php.net/fix.php?id=46225&r=needscript Try newer version:http://bugs.php.net/fix.php?id=46225&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=46225&r=support Expected behavior:http://bugs.php.net/fix.php?id=46225&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=46225&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=46225&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=46225&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=46225&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=46225&r=dst IIS Stability:http://bugs.php.net/fix.php?id=46225&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=46225&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=46225&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=46225&r=nozend MySQL Configuration Error:http://bugs.php.net/fix.php?id=46225&r=mysqlcfg
#36797 [Com]: Problem using UTF-8 database with pdo_oci
ID: 36797 Comment by: neggelandia at hotmail dot com Reported By: mauroi at digbang dot com Status: Assigned Bug Type: PDO related Operating System: Win XP SP2 PHP Version: 5.1.2 Assigned To: ramsey New Comment: I just finished setting up OCI8 to connect to an Oracle database server and I noticed that Swedish characters (åäö and ÅÄÖ) end up as ??? in my web browser. I'm running Oracle Instant Client on an Ubuntu 8.04 web server with PHP 5.2.4 (latest version at the time of writing). I tried Ramsey's advice and added the SetEnv NLS_LANG line to Apache but nothing happened. I can't try step one 'cause I'm not connecting using the tnsnames.ora parameters (I use the easyconnect method or whatever it's called). I don't have the folder mentioned in step 3 (I only installed Oracle IC Basic and SDK) so I can't do that either, but the whole $ORACLE_HOME directory is chmoded to 777 so it shouldn't be a problem. This bug is quite important to me as I need to be able to get some data from the Oracle DB to PHP, and as I'm working for a Finnish/Swedish company there are lots of these characters everywhere. Sure it's readable but it's still annoying and just not perfect. I hope someone takes the time to fix this bug or come up with a working workaround. Previous Comments: [2007-06-06 20:39:56] [EMAIL PROTECTED] Assigning to myself to update the PDO_OCI documentation to include discussion about setting charsets for Oracle. [2007-06-06 20:02:18] [EMAIL PROTECTED] [EMAIL PROTECTED] and I debugged this issue for hours, and here's what it came down to. We fixed this issue by doing the following: 1. As suggested, the DSN string was modified to contain 'charset=AL32UTF8' 2. Apache now has an environment variable NLS_LANG set as follows: NLS_LANG='AMERICAN_AMERICA.AL32UTF8' 3. Make sure that $ORACLE_HOME/nls/data and all files within are world-readable. [2007-06-05 19:15:39] [EMAIL PROTECTED] As information, I use 'oci:...charset=AL32UTF8' with latest IC and oracle 10g as server and works (5.2.2 and cvs). [2007-06-05 18:45:56] [EMAIL PROTECTED] Note that I'm not using HTML entities in the field, but rather, actual Japanese characters. The bug report here appears to convert these chars to HTML entities. [2007-06-05 18:44:26] [EMAIL PROTECTED] Here's some more reproduce code: setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Create table $dbh->exec('create table my_test_table(my_field varchar2(100))'); // Insert data $dbh->exec('insert into my_test_table(my_field) values (\'foo\')'); $dbh->exec('insert into my_test_table(my_field) values (\'日本語 \')'); // Get data foreach ($dbh->query('select my_field from my_test_table') as $row) { var_dump($row); } $dbh->exec('drop table my_test_table'); ?> ACTUAL OUTPUT: array(2) { ["MY_FIELD"]=> string(3) "foo" [0]=> string(3) "foo" } array(2) { ["MY_FIELD"]=> string(4) "??? " [0]=> string(4) "??? " } EXPECTED OUTPUT: array(2) { ["MY_FIELD"]=> string(3) "foo" [0]=> string(3) "foo" } array(2) { ["MY_FIELD"]=> string(4) "日本語 " [0]=> string(4) "日本語 " } 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/36797 -- Edit this bug report at http://bugs.php.net/?id=36797&edit=1
#14032 [NoF->Csd]: Mail() always returns false but mail is sent
ID: 14032 Updated by: [EMAIL PROTECTED] Reported By: tetranz at yahoo dot com -Status: No Feedback +Status: Closed Bug Type: Mail related Operating System: FreeBSD 4.2 PHP Version: 4.0.6 New Comment: This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: [2002-07-03 09:01:42] scpark at gen128 dot com O.K. I hack php's mail.c little bit. I added following code after pclose(). ... fprintf(sendmail, "\n%s\n", message); ret = pclose(sendmail); // start of debuging code php_error(E_WARNING, "%d,%d,%s", ret, errno, strerror(errno)); // end of debuging code #ifdef PHP_WIN32 if (ret == -1) #else ... and php said [03-Jul-2002 21:54:13] PHP Warning: -1,10,No child processes in /web/ch2001/phpdocs/public/icard/test_post.php on line 11 Do you know what this mean? [2002-07-03 08:39:45] scpark at gen128 dot com Oh! I forgot one thing. My php is compiled as cgi. not mod_php. [2002-07-03 08:37:10] scpark at gen128 dot com I have same experience with my solaris box. My machine is Ultra-60 server running Solaris 8. PHP 4.2.1 and 4.1.2 occur same result. Even mail() returns empty value, test mails are posted successfully. Same code run on linux box, very well. No problem on linux. [2002-03-07 00:00:04] php-bugs at lists dot php dot net No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". [2002-02-18 03:08:21] brett at mad dot scientist dot com I'm seeing this same problem. mail() always returns false (looks like a null string). I'm also on FreeBSD with the same version of SendMail (8.11.6) 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/14032 -- Edit this bug report at http://bugs.php.net/?id=14032&edit=1
#41631 [Com]: default_socket_timeout does not work with SSL
ID: 41631 Comment by: jose dot rodriguez at exec dot cl Reported By: david at acz dot org Status: Assigned Bug Type: OpenSSL related Operating System: SuSE Linux PHP Version: 5.2.3 Assigned To: pajoye New Comment: reproduced on PHP 5.2.6 @ Windows XP Previous Comments: [2008-10-02 08:07:58] cunami at gmail dot com Bug also reproducible on PHP 5.2.4 (2ubuntu5.3). [2008-02-25 21:03:17] konstantin dot ryabitsev at mcgill dot ca This is still happening on 5.2.5, and is really annoying when a soap server you are connecting to accepts the connection and then hangs. Effectively, this quickly results in a denial of service for the entire site, as the end-result is hung HTTP processes. Please consider this for a high-priority fix. [2007-06-08 15:58:24] david at acz dot org I have a (partial?) fix: Index: main/streams/xp_socket.c === RCS file: /repository/php-src/main/streams/xp_socket.c,v retrieving revision 1.33.2.2.2.4 diff -u -p -d -r1.33.2.2.2.4 xp_socket.c --- main/streams/xp_socket.c1 Jan 2007 09:36:12 - 1.33.2.2.2.4 +++ main/streams/xp_socket.c8 Jun 2007 15:55:57 - @@ -103,7 +103,7 @@ retry: return didwrite; } -static void php_sock_stream_wait_for_data(php_stream *stream, php_netstream_data_t *sock TSRMLS_DC) +void php_sock_stream_wait_for_data(php_stream *stream, php_netstream_data_t *sock TSRMLS_DC) { int retval; struct timeval *ptimeout; Index: ext/openssl/xp_ssl.c === RCS file: /repository/php-src/ext/openssl/xp_ssl.c,v retrieving revision 1.22.2.3.2.8 diff -u -p -d -r1.22.2.3.2.8 xp_ssl.c --- ext/openssl/xp_ssl.c27 May 2007 17:05:51 - 1.22.2.3.2.8 +++ ext/openssl/xp_ssl.c8 Jun 2007 15:55:57 - @@ -35,6 +35,8 @@ #include #endif +void php_sock_stream_wait_for_data(php_stream *stream, php_netstream_data_t *sock TSRMLS_DC); + int php_openssl_apply_verification_policy(SSL *ssl, X509 *peer, php_stream *stream TSRMLS_DC); SSL *php_SSL_new_from_context(SSL_CTX *ctx, php_stream *stream TSRMLS_DC); int php_openssl_get_x509_list_id(void); @@ -219,6 +221,12 @@ static size_t php_openssl_sockop_read(ph php_openssl_netstream_data_t *sslsock = (php_openssl_netstream_data_t*)stream->abstract; int nr_bytes = 0; + if (sslsock->s.is_blocked) { + php_sock_stream_wait_for_data(stream, &(sslsock->s) TSRMLS_CC); + if (sslsock->s.timeout_event) + return 0; + } + if (sslsock->ssl_active) { int retry = 1; [2007-06-08 01:15:24] david at acz dot org Description: The default socket timeout does not work with SSL streams. An strace shows PHP calls read(2) and blocks forever. Reproduce code: --- Create sleepforever.php: Try it with HTTP: $ php -n -r 'ini_set("default_socket_timeout", 1); fopen("http://127.0.0.1/sleepforever.php";, "r");' Now try it with HTTPS: $ time php -n -r 'ini_set("default_socket_timeout", 1); fopen("https://127.0.0.1/sleepforever.php";, "r");' Expected result: Warning: fopen(http://127.0.0.1/sleepforever.php): failed to open stream: HTTP request failed! in Command line code on line 1 real0m2.052s user0m0.020s sys 0m0.010s Actual result: -- The process blocks forever. An strace shows this: connect(3, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress) poll([{fd=3, events=POLLIN|POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 1000) = 1 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 fcntl64(3, F_SETFL, O_RDWR) = 0 write(3, "\200j\1\3\1\0Q\0\0\0\20\0\0\26\0\0\23\0\0\n\7\0\300\0\0"..., 108) = 108 read(3, "\26\3\1\0J\2\0", 7)= 7 *** ELIDED *** write(3, "\27\3\1\0\30N~h\231u\31S]94^\253\235\26t\324\214\t/\261"..., 29) = 29 poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 read(3, *** THIS BLOCKS FOREVER *** -- Edit this bug report at http://bugs.php.net/?id=41631&edit=1
#46222 [Com]: Memory issues in ArrayObject
ID: 46222 Comment by: karsten at typo3 dot org Reported By: [EMAIL PROTECTED] Status: Critical Bug Type: Scripting Engine problem Operating System: Any PHP Version: 5.2.6 Assigned To: colder New Comment: Ran it under: PHP 5.3.0alpha1 (cli) (built: Sep 8 2008 13:16:52) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2008 Zend Technologies with Xdebug v2.0.3, Copyright (c) 2002-2007, by Derick Rethans (installed via MacPorts on 10.5.5) Got: Array ( [d2] => hello ) Previous Comments: [2008-10-03 04:47:28] [EMAIL PROTECTED] Ran it under: PHP 5.3.0alpha3-dev (cli) (built: Oct 3 2008 00:09:28) (DEBUG) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2008 Zend Technologies Got: Array ( [d2] => hello ) [Fri Oct 3 00:19:06 2008] Script: '-' /Users/gwynne/src/php-src/cvs/php-5.3/ext/spl/spl_array.c(354) : Freeing 0x00C1419C (20 bytes), script=- [Fri Oct 3 00:19:06 2008] Script: '-' /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_execute.c(932) : Freeing 0x00C142B8 (44 bytes), script=- /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_API.c(930) : Actual location (location was relayed) Last leak repeated 1 time [Fri Oct 3 00:19:06 2008] Script: '-' /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_hash.c(247) : Freeing 0x00C14364 (38 bytes), script=- [Fri Oct 3 00:19:06 2008] Script: '-' /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_execute.c(727) : Freeing 0x00C143BC (20 bytes), script=- [Fri Oct 3 00:19:06 2008] Script: '-' /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_variables.h(45) : Freeing 0x00C14400 (6 bytes), script=- /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_variables.c(120) : Actual location (location was relayed) === Total 6 memory leaks detected === [2008-10-03 03:57:49] [EMAIL PROTECTED] Description: ArrayObject appears to corrupt the symbol table Checked it with Valgrind and didn't see anything, but haven't checked the code yet. Appears to be a problem in both 5.2 and 5.3. Reproduce code: --- $test = new ArrayObject(); $test['d1']['d2'] = 'hello'; print_r($test3['m']); Expected result: nothing Actual result: -- Array ( [d2] => hello ) -- Edit this bug report at http://bugs.php.net/?id=46222&edit=1
#46220 [Com]: Writing something to a static var causes a crash instead of on error
ID: 46220 Comment by: typo3 at maltejansen dot de Reported By: typo3 at maltejansen dot de Status: Feedback Bug Type: Reproducible crash Operating System: Windows XP SP2 PHP Version: 5.3.0alpha2 New Comment: I just added some echo-output in each line of the construtor of F3::Testing::Model:TestRunner. An now I got no crash but Fatal Error. I have never seen such an message before and looks not like one from the FLOW3-Framework... ( ! ) Fatal error: Call to a member function getComponentManager() on a non-object in D:\workspace-flow3\htdocs\development\Packages\Testing\Classes\Model\F3_Testing_Model_TestRunner.php on line 0 Call Stack # TimeMemory FunctionLocation 1 0.0007 337536 {main}( ) ..\index.php:0 2 0.0251 590568 F3::FLOW3->run( ) ..\index.php:30 3 37.2597 31130128 F3::FLOW3::MVC::Web::RequestHandler->handleRequest( ) ..\F3_FLOW3.php:443 4 37.3568 31149368F3::FLOW3::MVC::Dispatcher->dispatch( ) ..\F3_FLOW3_MVC_Web_RequestHandler.php:85 5 37.3571 31149368 F3::FLOW3::MVC::Dispatcher->getPreparedController( ) ..\F3_FLOW3_MVC_Dispatcher.php:123 6 37.3576 31149728F3::FLOW3::Component::Factory->getComponent( ) ..\F3_FLOW3_MVC_Dispatcher.php:141 7 37.3576 31149728 F3::FLOW3::Component::ObjectBuilder->createComponentObject( ) ..\F3_FLOW3_Component_Factory.php:121 8 37.3656 31161256 F3::FLOW3::Component::ObjectBuilder->injectSetterProperties( ) ..\F3_FLOW3_Component_ObjectBuilder.php:110 9 37.3656 31161256F3::FLOW3::Component::Factory->getComponent( ) ..\F3_FLOW3_Component_ObjectBuilder.php:271 10 37.3657 31161256 F3::FLOW3::Component::ObjectBuilder->createComponentObject( ) ..\F3_FLOW3_Component_Factory.php:115 11 37.3669 31161408ReflectionClass->newInstanceArgs( ) ..\F3_FLOW3_Component_ObjectBuilder.php:103 12 37.3670 31161480F3::Testing::AbstractTestRunner->__construct( ) ..\F3_Testing_AbstractTestRunner.php:0 13 37.3670 31161480F3::FLOW3::Component::Factory->getComponent( ) ..\F3_Testing_AbstractTestRunner.php:87 14 37.3671 31161624 F3::FLOW3::Component::ObjectBuilder->createComponentObject( ) ..\F3_FLOW3_Component_Factory.php:121 15 38.4300 31354576ReflectionClass->newInstanceArgs( ) ..\F3_FLOW3_Component_ObjectBuilder.php:103 16 38.4300 31354576F3::Testing::Model::TestRunner->__construct( ) ..\F3_Testing_Model_TestRunner.php:0 ( ! ) Fatal error: Exception thrown without a stack frame in Unknown on line 0 Call Stack # TimeMemory FunctionLocation 1 0.0007 337536 {main}( ) ..\index.php:0 2 0.0251 590568 F3::FLOW3->run( ) ..\index.php:30 3 37.2597 31130128 F3::FLOW3::MVC::Web::RequestHandler->handleRequest( ) ..\F3_FLOW3.php:443 4 37.3568 31149368F3::FLOW3::MVC::Dispatcher->dispatch( ) ..\F3_FLOW3_MVC_Web_RequestHandler.php:85 5 37.3571 31149368 F3::FLOW3::MVC::Dispatcher->getPreparedController( ) ..\F3_FLOW3_MVC_Dispatcher.php:123 6 37.3576 31149728F3::FLOW3::Component::Factory->getComponent( ) ..\F3_FLOW3_MVC_Dispatcher.php:141 7 37.3576 31149728 F3::FLOW3::Component::ObjectBuilder->createComponentObject( ) ..\F3_FLOW3_Component_Factory.php:121 8 37.3656 31161256 F3::FLOW3::Component::ObjectBuilder->injectSetterProperties( ) ..\F3_FLOW3_Component_ObjectBuilder.php:110 9 37.3656 31161256F3::FLOW3::Component::Factory->getComponent( ) ..\F3_FLOW3_Component_ObjectBuilder.php:271 10 37.3657 31161256 F3::FLOW3::Component::ObjectBuilder->createComponentObject( ) ..\F3_FLOW3_Component_Factory.php:115 11 37.3669 31161408ReflectionClass->newInstanceArgs( ) ..\F3_FLOW3_Component_ObjectBuilder.php:103 12 37.3670 31161480F3::Testing::AbstractTestRunner->__construct( ) ..\F3_Testing_AbstractTestRunner.php:0 13 37.3670 31161480F3::FLOW3::Component::Factory->getComponent( ) ..\F3_Testing_AbstractTestRunner.php:87 14 37.3671 31161624 F3::FLOW3::Component::ObjectBuilder->createComponentObject( ) ..\F3_FLOW3_Component_Factory.php:121 15 38.4300 31354576ReflectionClass->newInstanceArgs( ) ..\F3_FLOW3_Component_ObjectBuilder.php:103 16 38.4300 31354576F3::Testing::Model::TestRunner->__construct( ) ..\F3_Testing_Model_TestRunner.php:0 --- Next I will test the latest SnapShot... Previous Comments: [2008-10-02 18:05:25] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.3-latest.tar.gz For Windows (zip): http://snaps.php.net/wi
#46222 [Opn->Ctl]: Memory issues in ArrayObject
ID: 46222 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Critical Bug Type: Scripting Engine problem Operating System: Any PHP Version: 5.2.6 Previous Comments: [2008-10-03 04:47:28] [EMAIL PROTECTED] Ran it under: PHP 5.3.0alpha3-dev (cli) (built: Oct 3 2008 00:09:28) (DEBUG) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2008 Zend Technologies Got: Array ( [d2] => hello ) [Fri Oct 3 00:19:06 2008] Script: '-' /Users/gwynne/src/php-src/cvs/php-5.3/ext/spl/spl_array.c(354) : Freeing 0x00C1419C (20 bytes), script=- [Fri Oct 3 00:19:06 2008] Script: '-' /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_execute.c(932) : Freeing 0x00C142B8 (44 bytes), script=- /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_API.c(930) : Actual location (location was relayed) Last leak repeated 1 time [Fri Oct 3 00:19:06 2008] Script: '-' /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_hash.c(247) : Freeing 0x00C14364 (38 bytes), script=- [Fri Oct 3 00:19:06 2008] Script: '-' /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_execute.c(727) : Freeing 0x00C143BC (20 bytes), script=- [Fri Oct 3 00:19:06 2008] Script: '-' /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_variables.h(45) : Freeing 0x00C14400 (6 bytes), script=- /Users/gwynne/src/php-src/cvs/php-5.3/Zend/zend_variables.c(120) : Actual location (location was relayed) === Total 6 memory leaks detected === [2008-10-03 03:57:49] [EMAIL PROTECTED] Description: ArrayObject appears to corrupt the symbol table Checked it with Valgrind and didn't see anything, but haven't checked the code yet. Appears to be a problem in both 5.2 and 5.3. Reproduce code: --- $test = new ArrayObject(); $test['d1']['d2'] = 'hello'; print_r($test3['m']); Expected result: nothing Actual result: -- Array ( [d2] => hello ) -- Edit this bug report at http://bugs.php.net/?id=46222&edit=1