有没有办法在运行时检查是否已设置自定义PHP错误处理程序?
也就是说,PHP函数set error handler允许您设置自定义函数/回调来处理PHP错误。但是,没有相应的get_error_handler
功能。
PHP是否有任何系统可以在运行时检查它?如果没有这样做的官方API,有没有通过代码确定这个的棘手方法?
答案 0 :(得分:1)
您可以设置自己的错误处理程序,并获取set_error_handler
的返回值 - 如果它是null
,则没有定义错误处理程序:
$last_error_handler = set_error_handler(function(){});
if ($last_error_handler === null) {
restore_error_handler();
} else {
// Set it back to what was defined
set_error_handler($last_error_handler);
echo "Found";
}