如何捕获所有PHP错误?
2022-08-31 00:21:42
我需要一个解决方案来捕获所有PHP致命错误,异常,警告等,并有一个回调。
我想向用户显示错误的友好版本并记录该错误。
我正在考虑每天使用文本文件来记录错误。
任何建议或PHP类(库)?
我需要一个解决方案来捕获所有PHP致命错误,异常,警告等,并有一个回调。
我想向用户显示错误的友好版本并记录该错误。
我正在考虑每天使用文本文件来记录错误。
任何建议或PHP类(库)?
这使得几乎所有错误都成为可捕获的实例:ErrorException
set_error_handler(function($errno, $errstr, $errfile, $errline ){
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
});
在可能给出错误的代码之前使用它,例如在php文件的最顶部或包含的公共标头中
限制:最严重的错误(PHP引擎,服务器,语法)无法使用用户定义的函数处理:,和文件中提出的大部分错误,其中set_error_handler()称为损害它。E_ERROR
E_PARSE
E_CORE_ERROR
E_CORE_WARNING
E_COMPILE_ERROR
E_COMPILE_WARNING
E_STRICT
但是,如果语法正确并且服务器没有中断,则不应出现这些错误。
如果需要,您可以使用和register_shutdown_function()
error_get_last()