PHP捕獲Fatal error錯誤的方法
Fatal error 一般是不需要捕獲的, 但是在一個復雜的程序中, 如果偶然出現(xiàn)內(nèi)存不足導致fatal error就難以處理了.
比如. fatal error 出在MySQL類中fetch的時候. 這個時候就很難定位到真正問題所在了.
PHP異常處理中 可以通過set_error_handler來捕獲. 但是卻只能捕獲 NOTICE/WARNING級別的錯誤, 對于E_ERROR是無能為力的.
register_shutdown_function 能解決set_error_handler的不足.
通過此函數(shù)注冊好程序結(jié)束回調(diào)函數(shù), 就可以捕獲平時捕獲不到的錯誤了. 再通過 error_get_last 對錯誤進行判斷. 就容易找出難以定位的問題了.
function shutdown_function()
{
$e = error_get_last();
print_r($e);
}
register_shutdown_function('shutdown_function');
- 解決fatal:remote error:You can''t push to git://github.com/username/*.git問題的辦法
- 解決PHP程序運行時:Fatal error: Maximum execution time of 30 seconds exceeded in的錯誤提示
- PHP中使用register_shutdown_function函數(shù)截獲fatal error示例
- ThinkPHP提示錯誤Fatal error: Allowed memory size的解決方法
- php運行提示:Fatal error Allowed memory size內(nèi)存不足的解決方法
- Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
- php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解決方法
- Windows平臺的 PHP 報錯 Fatal error: Class COM not found in 的解決方法
- PHP中Fatal error session_start()錯誤解決步驟
- Fatal: the Postfix mail system is already running 解決辦法
相關(guān)文章
Laravel框架Eloquent ORM新增數(shù)據(jù)、自定義時間戳及批量賦值用法詳解
這篇文章主要介紹了Laravel框架Eloquent ORM新增數(shù)據(jù)、自定義時間戳及批量賦值用法,結(jié)合實例形式詳細分析了Laravel框架Eloquent ORM通過模型新增數(shù)據(jù)、時間戳設(shè)置、批量賦值模型、Create新增等相關(guān)使用方法,需要的朋友可以參考下2019-12-12Kindeditor編輯器添加圖片上傳水印功能(php代碼)
這篇文章主要為大家詳細介紹了Kindeditor編輯器加圖片上傳水印功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08Laravel 6.2 中添加了可調(diào)用容器對象的方法
Laravel小組上周發(fā)布了v6.2.0 版本,接下來通過本文給大家分享Laravel 6.2 中添加了可調(diào)用容器對象的方法,需要的朋友可以參考下2019-10-10