处理PHP的致命错误(Fatal Error 或 E_ERROR)
如何处理PHP的E_ERROR或Fatal Error是一件麻烦事。当程序因为内存不足、执行超时等等而出现致命错误意外中断时,也需要进行相关的处理,而这时error_reporting与try...catch都不适用。
这时可以利用PHP的register_shutdown_function函数。
手册上写的很明确:register_shutdown_function — Register a function for execution on shutdown,就是说当程序中断时会调用该函数注册的函数。
比如:
<?phppublic function shutdown_handler() {$error = error_get_last();if ($error['type'] == 1) { //只针对E_ERRORecho '抱歉出错了~';@header("Location: error.php"); }}