#45914 [Com]: ini_set() Does Not Work When Using Registry-Based "Per Directory Values"

From: Date: Mon, 08 Feb 2010 14:43:10 +0000
Subject: #45914 [Com]: ini_set() Does Not Work When Using Registry-Based "Per Directory Values"
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-147328@lists.php.net to get a copy of this message
ID: 45914 Comment by: php at psdie dot com Reported By: w dot ashcroft at redfoxuk dot com Status: Assigned Bug Type: PHP options/info functions Operating System: win32 only PHP Version: 5.2CVS-2008-08-25 Assigned To: pajoye New Comment: This issue also means that we're unable to override the "error_log" value via ini_set() - it seems to work temporarily, then reverts to the default and can no longer be overridden. The simple test case is: <? ini_set('error_log', $_SERVER['DOCUMENT_ROOT'] .'\\_test.log'); echo('log_errors='. ini_get('log_errors') ." ?> The above outputs the correct log filename initially, but then seems to stop working after a period of time (10 hours or so), then refuses to work from that point onward. This bug was reported back in Aug 98 - is a fix or workaround available? I know that my host is unable to upgrade past v5.2.12 at present because of lack of Zend/ionCube Decoders support. Many thanks, Ben Previous Comments: ------------------------------------------------------------------------ [2008-10-24 15:55:12] jani@php.net Assigned to the Windows port maintainer. ------------------------------------------------------------------------ [2008-08-25 23:09:00] w dot ashcroft at redfoxuk dot com I can confirm the issue still exists in the current CVS snapshot. ------------------------------------------------------------------------ [2008-08-25 20:40:09] jani@php.net Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows (zip): http://snaps.php.net/win32/php5.2-win32-latest.zip For Windows (installer): http://snaps.php.net/win32/php5.2-win32-installer-latest.msi ------------------------------------------------------------------------ [2008-08-25 19:32:02] w dot ashcroft at redfoxuk dot com Description: ------------ It seems then when using Per Directory Values in the Windows Registry, these values can then not be changed with ini_set() - for example we set the sendmail_from value for each individual website using the registry-based Per Directory Values, but the website owners should then be able to set their own from address in their scripts using ini_set(). As I understand it, the in-script ini_set() should be the last possible place a value can be changed (at runtime); not the registry. Removing the registry entry gives the expected result of: notset@notset.com webmaster@example.com Reproduce code: --------------- php.ini sendmail_from = notset@notset.com HKLM\SOFTWARE\PHP\Per Directory Values\[DirPath] sendmail_from = noreply@example.com <?php echo ini_get("sendmail_from") . "<br>"; ini_set("sendmail_from", "webmaster@example.com"); echo ini_get("sendmail_from"); ?> Expected result: ---------------- noreply@example.com webmaster@example.com Actual result: -------------- noreply@example.com noreply@example.com ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45914&edit=1

« previous php.bugs (#147328) next »