ID: 41561 Updated by: [EMAIL PROTECTED] Reported By: samy-delux at gmx dot de -Status: Closed +Status: Open Bug Type: PHP options/info functions Operating System: Ubuntu Linux PHP Version: 5.2.3 Assigned To: tony2001 New Comment:
The patch corrupts overwriting of ini entries in multithreaded webserver SJSWS (formerly iplanet/SunONE). It seems that the INI entry is modified in a way that corrupts its further usage. I would suggest to change this patch that the modify_type in ini_entry->modifiable = ZEND_INI_SYSTEM should only be set in the replicated "modified" ini entry that is only available to the current request. Changing it in the global ini table corrupts it and stops further threads from modifying it (where no php_admin value is used and it should be overwriteable!)... see discussion on [EMAIL PROTECTED] Previous Comments: ------------------------------------------------------------------------ [2007-06-08 14:48:41] [EMAIL PROTECTED] This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. ------------------------------------------------------------------------ [2007-06-05 15:02:22] genetiq at gmail dot com can reproduce this bug on my machine (Mac OS X 10.4.9, Apache2, PHP 5.2.3) ------------------------------------------------------------------------ [2007-06-03 14:18:09] samy-delux at gmx dot de I tried it with include_path and it does work as well: 'inc.php' lies in '/var/www/test/prohibited_include' and should not be includeable! Reproduce code: --------------- /etc/apache2/httpd.conf : php_admin_value include_path "/var/www/test/allowed_include" path.php : <?php ini_set("include_path", "/var/www/test/prohibited_include"); include("inc.php"); ?> Expected result: ---------------- The result is the following: Warning: include(inc.php) [function.include]: failed to open stream: No such file or directory in /var/www/test/path.php on line 5 Warning: include() [function.include]: Failed opening 'inc.php' for inclusion (include_path='/var/www/test/allowed_include') in /var/www/test/path.php on line 5 Actual result: -------------- The result is the following: No Error because the file gets included nicely! ------------------------------------------------------------------------ [2007-06-02 22:48:06] [EMAIL PROTECTED] Can you try with some other ini option too, so we know this is general issue with php_admin_* directives and not just this one. include_path is good choice. ------------------------------------------------------------------------ [2007-06-01 16:40:16] samy-delux at gmx dot de There is no error! The limit is set to 3MB with php_admin_value. Then I change it with ini_set() to 20MB and I can allocate 19MB (well, almost 20MB)... When I don NOT ini_set() and leave the limit at 3MB it raises the following error: Fatal error: Allowed memory size of 3145728 bytes exhausted (tried to allocate 19971501 bytes) in /var/www/iniset.php on line 11 ------------------------------------------------------------------------ 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/41561 -- Edit this bug report at http://bugs.php.net/?id=41561&edit=1