这对我有用:
function shutdown() {
$error = error_get_last();
if ($error['type'] === E_ERROR) {
// Fatal error has occured
}
}
register_shutdown_function('shutdown');
spl_autoload_register('foo');
// throws a LogicException which is not caught, so triggers a E_ERROR
但是,您可能已经知道了,只是为了确保:您无法以任何方式从E_ERROR中恢复。
至于回溯,您不能… :(在大多数致命错误的情况下,尤其是 未定义的函数 错误,您实际上并不需要它。精确定位文件/行所在的位置就足够了。回溯是无关紧要的在这种情况下。