1

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

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

PHP 是否有任何系统可以在运行时检查这一点?如果没有用于执行此操作的官方 API,是否有任何棘手的方法可以通过代码确定这一点?

4

1 回答 1

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";
}
于 2013-09-11T19:26:23.997 回答