可能重复:
如何捕获PHP致命错误
我想创建一个自定义错误处理程序,但PHP忽略它仍然使用内置的错误处理程序.下面的示例给出了内置致命错误,因为未定义test():
function critical_error($error_number,$error_string,$error_file,$error_line,$error_context) {
echo "<strong>error:</strong> echo ".$error_string;
exit();
}
set_error_handler("critical_error",8191);
test();
exit;
Run Code Online (Sandbox Code Playgroud)
有什么建议?
您可能错误地定义了错误级别.尝试使用:
set_error_handler("critical_error", E_ALL);
Run Code Online (Sandbox Code Playgroud)
另请注意:
使用用户定义的函数无法处理以下错误类型:E_ERROR,E_PARSE,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_ERROR,E_COMPILE_WARNING,以及调用set_error_handler()的文件中引发的大部分E_STRICT.
但如果没有完整的脚本(包括test()),很难说清楚.我在我的本地服务器上测试过,一切正常.
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |