天天看點

PHP捕獲Fatal error錯誤的方法

這篇文章主要介紹了PHP捕獲Fatal error錯誤的方法,使用register_shutdown_function來捕獲Fatal error錯誤,需要的朋友可以參考下

Fatal error 一般是不需要捕獲的, 但是在一個複雜的程式中, 如果偶然出現記憶體不足導緻fatal error就難以處理了.

比如. fatal error 出在MySQL類中fetch的時候. 這個時候就很難定位到真正問題所在了.

PHP異常進行中 可以通過set_error_handler來捕獲. 但是卻隻能捕獲 NOTICE/WARNING級别的錯誤, 對于E_ERROR是無能為力的.

register_shutdown_function 能解決set_error_handler的不足.

通過此函數注冊好程式結束回調函數, 就可以捕獲平時捕獲不到的錯誤了. 再通過 error_get_last 對錯誤進行判斷. 就容易找出難以定位的問題了.

代碼如下:

function shutdown_function()  

{  

    $e = error_get_last();    

    print_r($e);  

}

register_shutdown_function('shutdown_function');