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

Reply via email to