#22844 [Opn->Csd]: text boolean ini options set with -d do not work (on/off)
ID: 22844
Updated by: iliaa@php.net
Reported By: gk at proliberty dot com
-Status: Open
+Status: Closed
Bug Type: CGI related
Operating System: linux RH 7.2
PHP Version: 4.3.2-RC
New Comment:
Forgot to close ;)
Previous Comments:
------------------------------------------------------------------------
[2003-03-24 07:58:17] iliaa@php.net
This bug has been fixed in CVS.
In case this was a PHP problem, 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/.
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
Thank you for the report, and for helping us make PHP better.
------------------------------------------------------------------------
[2003-03-24 05:05:13] sniper@php.net
This is actually real bug:
# php -d display_errors=1 -r "f();" <-- this works
# php -d display_errors=On -r "f();" <-- this is same as setting it to
0
------------------------------------------------------------------------
[2003-03-24 04:55:07] gk at proliberty dot com
In my php.ini file, I have:
display_errors=On
display_startup_errors=On
In Bug #22796, I noted that display_startup_errors=On is required for
proper error display using -r option; however this is a separate
problem: errors not displayed if display_startup_error or
display_errors is set to ANY value, with ini_set() or on the command
line
I demonstrate below with -d switch:
[greg@p3 junk]$ php -d display_startup_errors=On -r "f();"
[greg@p3 junk]$ php -d display_startup_errors=Off -r "f();"
[greg@p3 junk]$ php -r "f();"
Fatal error: Call to undefined function: f() in Command line code on
line 1
[greg@p3 junk]$ php -d display_errors=Off -r "f();"
[greg@p3 junk]$ php -d display_errors=On -r "f();"
The same problem occurs if call ini_set() instead of using -d option:
#FILE: junk.php
<?php
ini_set("display_errors","On");
ini_set("display_startup_errors","On");
f();
?>
Now, if you use boolean value instead of On/Off, it appears that if
EITHER variable is set to 1, errors work but if EITHER is set to 0,
they don't:
[greg@p3 junk]$ php -d display_errors=0 -r "f();"
[greg@p3 junk]$ php -d display_errors=1 -r "f();"
Fatal error: Call to undefined function: f() in Command line code on
line 1
[greg@p3 junk]$ php -d display_errors=On -r "f();"
[greg@p3 junk]$ php -d display_startup_errors=1 -r "f();"
Fatal error: Call to undefined function: f() in Command line code on
line 1
[greg@p3 junk]$ php -d display_startup_errors=0 -r "f();"
[greg@p3 junk]$
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=22844&edit=1
Thread (8 messages)