From: djslakor at hotmail dot com Operating system: win32 PHP version: 4CVS-2006-03-21 (snap) PHP Bug Type: PHP options/info functions Bug description: ini_set() returns FALSE, even upon success, if the option wasn't set in php.ini
Description: ------------ In my example, I wanted to modify the user_agent fopen wrapper option in order to spoof a user_agent (obviously). In my current php.ini configuration, the user_agent line is commented out. When issuing ini_set("user_agent", "Mozilla"), for example, the function returns false, although it succeeds. The documentation states the function is to return the previous value for the option, however, in this case, since the option was not set to begin with, it returns false, which indicates failure (although the call was a success). This does not make sense. Reproduce code: --------------- Pre-req: user_agent must be commented out in php.ini $blah = ini_set("user_agent", "Mozilla"); var_dump($blah); Expected result: ---------------- I expect the function to successfully set user_agent to "Mozilla", which in this case it does, and return something other than false, which indicates failure. [3 Sep 2002 3:54pm CEST] [EMAIL PROTECTED] What's the bug here? If some ini setting is not set at all, what should be returned else than false? Response: Perhaps if the option is not already set, instead of returning false, it should simply return the value you just set the option to. This would be better than indicating a failure when one doesn't exist. Actual result: -------------- Returns false. -- Edit bug report at http://bugs.php.net/?id=36810&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=36810&r=trysnapshot44 Try a CVS snapshot (PHP 5.1): http://bugs.php.net/fix.php?id=36810&r=trysnapshot51 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=36810&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=36810&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=36810&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=36810&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=36810&r=needscript Try newer version: http://bugs.php.net/fix.php?id=36810&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=36810&r=support Expected behavior: http://bugs.php.net/fix.php?id=36810&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=36810&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=36810&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=36810&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=36810&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=36810&r=dst IIS Stability: http://bugs.php.net/fix.php?id=36810&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=36810&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=36810&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=36810&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=36810&r=mysqlcfg