From: redeye at erisx dot de
Operating system: Linux / Windows
PHP version: 4.3.2
PHP Bug Type: Scripting Engine problem
Bug description: set_error_handler without effect in some situations
Description:
------------
It seams like PHP doesn't keep the error_handler when a function is called
which contains another trigger_error. This can lead to a quite unwanted
behaviour on scripts that require an own error_handler.
Reproduce code:
---------------
<?php
function
my_error_handler($error_number,$error_message,$error_filename,$error_line){
echo 'Using my_error_handler: '.$error_message.'<br>';
if ( $error_number == E_USER_NOTICE ){
call_error();
}
}
function call_error(){
trigger_error('From call_error()', E_USER_WARNING);
}
set_error_handler('my_error_handler');
trigger_error('test', E_USER_NOTICE);
trigger_error('another test', E_USER_NOTICE);
?>
Expected result:
----------------
Using my_error_handler: test
Using my_error_handler: From call_error()
Using my_error_handler: another test
Using my_error_handler: From call_error()
Actual result:
--------------
Using my_error_handler: test
Warning: From call_error() in /www/test.php on line 11
Using my_error_handler: another test
Warning: From call_error() in /www/test.php on line 11
--
Edit bug report at http://bugs.php.net/?id=24216&edit=1
--
Try a CVS snapshot: http://bugs.php.net/fix.php?id=24216&r=trysnapshot
Fixed in CVS: http://bugs.php.net/fix.php?id=24216&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=24216&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=24216&r=needtrace
Try newer version: http://bugs.php.net/fix.php?id=24216&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=24216&r=support
Expected behavior: http://bugs.php.net/fix.php?id=24216&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=24216&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=24216&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=24216&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=24216&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=24216&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=24216&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=24216&r=gnused