有没有办法在运行时检查是否设置了自定义 PHP 错误处理程序?
也就是说,PHP 函数集错误处理程序允许您设置自定义函数/回调来处理 PHP 错误。但是,没有相应的get_error_handler
功能。
PHP 是否有任何系统可以在运行时检查这一点?如果没有用于执行此操作的官方 API,是否有任何棘手的方法可以通过代码确定这一点?
您可以设置自己的错误处理程序,并获取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";
}