restore_error_handler()函数恢复PHP自身的错误处理程序。从下面的例子中,可以看出,当执行restore_error_handler()函数之后,我们自己定义的错误处理函数已经不在起作用了。
例子:
function handleError($errno, $errstr, $errfile, $errline) { echo "<b>Custom error:</b> [$errno] $errstr<br />"; echo " Error on line $errline in $errfile<br />"; } set_error_handler("customError"); $test = 2; if ($test>1) { trigger_error("A custom error has been triggered"); } //恢复PHP本身的错误处理。正常显示trigger信息 restore_error_handler(); if ($test > 1) { trigger_error("A custom error has been triggered"); }
结果:
Custom error: [1024] A custom error has been triggered Error on line 14 in /Users/liguosong/work/php/Testing/test.php Notice: A custom error has been triggered in /Users/liguosong/work/php/Testing/test.php on line 22 Call Stack: 0.0096 253080 1. {main}() /Users/liguosong/work/php/Testing/test.php:0 0.0100 253952 2. trigger_error(???) /Users/liguosong/work/php/Testing/test.php:22