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

Reply via email to