ID: 42749
Updated by: [EMAIL PROTECTED]
Reported By: gabe at mudbugmedia dot com
-Status: Open
+Status: Feedback
Bug Type: *General Issues
Operating System: Linux proto 2.6.20-hardened-r5
PHP Version: 5CVS-2007-09-24 (snap)
New Comment:
What MPM is used in Apache? Note: php_admin_* sets the ini option not
to be modifiable by .htaccess or in scripts using ini_set().
Can you try and create a small test environment with this information?
We need sample config to be able to reproduce this ourselves.
Apparently it's some .htaccess file and/or script changing
error_reporting() using either ini_set() or error_reporting() for it.
Also using @ affects it..
Previous Comments:
------------------------------------------------------------------------
[2007-09-25 19:50:32] gabe at mudbugmedia dot com
I've been running a httperf on a sample script testing when setting
error_reporting in a <VirtualHost> block via php_admin_value vs.
php_value and watching the error log.
php_admin_value does NOT have problems setting the level
php_value DOES have problems setting the level
------------------------------------------------------------------------
[2007-09-25 14:01:03] gabe at mudbugmedia dot com
I have some vhosts that have the following within the <VirtualHost>
block:
php_admin_value error_reporting "E_ALL ^ E_NOTICE"
However, this problem is occurring on a vhost that does not use any
php_admin_values, either globally or in the <VirtualHost> block.
I have not had troubles overriding any of the other .ini values that I
know of. I have a few sites that have the following .htaccess:
php_flag short_open_tag on
php_flag register_globals on
php_value error_reporting "E_ALL ^ E_NOTICE"
During page loads when the error_reporting doesn't get properly
overwritten with the new value, the short_open_tag and
register_globals are always properly set and are not suffering the
same problem. A good portion of my sites also change the include_path
via ini_set(), and I haven't had a single issue with any of those. It
appears that this is specific to the error_reporting ini value and
isn't affecting any of the other ini values.
It should be noted that sites that use a php_admin_value
error_reporting in a <VirtualHost> block have been reported (yet?) to
have any issues with setting a new local value.
------------------------------------------------------------------------
[2007-09-25 09:20:53] [EMAIL PROTECTED]
Is it just error_reporting ini option you get this problem with?
It is a bit hard to debug, the ini system being what it is..
Do you use php_admin_* flags anywhere in your httpd.conf (or included
parts of it) ??
------------------------------------------------------------------------
[2007-09-24 21:02:55] gabe at mudbugmedia dot com
In the comments of the other bug, this is mentioned:
>When error_reporting was overwritten with ADMIN privileges it cannot
be
changed anymore by the @ operator :)
If I add something like:
@include 'doesnotexist';
at the end of the test file, no warning will be issued even when the
problem behavior is occurring. Usage of the '@' symbol for error
suppression is completely unaffected by this bug.
------------------------------------------------------------------------
[2007-09-24 20:56:17] gabe at mudbugmedia dot com
I extended my reproduction code to check ini_set(), which suffers the
same behavior.
Code:
<?php
var_dump(error_reporting());
var_dump(error_reporting(E_ALL ^ E_NOTICE ^ E_USER_NOTICE));
trigger_error('This should not be seen', E_USER_NOTICE);
echo $a; // should cause a notice
var_dump(error_reporting());
var_dump(ini_set('error_reporting', E_ALL ^ E_NOTICE ^ E_USER_NOTICE ^
E_USER_WARNING));
var_dump(error_reporting());
trigger_error('This should not be seen', E_USER_NOTICE);
echo $a; // should cause a notice
var_dump(error_reporting());
?>
Output:
int(6143) int(6143)
Notice: This should not be seen in
/home/gabebug/public_html/error_reporting_tests.php on line 5
Notice: Undefined variable: a in
/home/gabebug/public_html/error_reporting_tests.php on line 6
int(6143) bool(false) int(6143)
Notice: This should not be seen in
/home/gabebug/public_html/error_reporting_tests.php on line 11
Notice: Undefined variable: a in
/home/gabebug/public_html/error_reporting_tests.php on line 12
int(6143)
------------------------------------------------------------------------
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/42749
--
Edit this bug report at http://bugs.php.net/?id=42749&edit=1