PHP捕获Fatal error错误的方法
Fatalerror一般是不需要捕获的,但是在一个复杂的程序中,如果偶然出现内存不足导致fatalerror就难以处理了.
比如.fatalerror出在MySQL类中fetch的时候.这个时候就很难定位到真正问题所在了.
PHP异常处理中可以通过set_error_handler来捕获.但是却只能捕获NOTICE/WARNING级别的错误,对于E_ERROR是无能为力的.
register_shutdown_function能解决set_error_handler的不足.
通过此函数注册好程序结束回调函数,就可以捕获平时捕获不到的错误了.再通过error_get_last对错误进行判断.就容易找出难以定位的问题了.
functionshutdown_function() { $e=error_get_last(); print_r($e); } register_shutdown_function('shutdown_function');