這篇文章主要介紹了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');
以上是php 捕獲Fatal error錯誤的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!