在运行时检查自定义PHP错误处理程序

时间:2013-09-11 19:18:45

标签: php

有没有办法在运行时检查是否已设置自定义PHP错误处理程序?

也就是说,PHP函数set error handler允许您设置自定义函数/回调来处理PHP错误。但是,没有相应的get_error_handler功能。

PHP是否有任何系统可以在运行时检查它?如果没有这样做的官方API,有没有通过代码确定这个的棘手方法?

1 个答案:

答案 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";
}