天天看點

php環境代碼錯誤定位,php 快速定位代碼錯誤、異常之register_shutdown_function()函數學習...

無論是在開發環境還是在生産環境中,錯誤都是無可避免的,但又都是必須要解決的。那問題來了,開發環境中我們可以開啟調試模式,迅速定位錯誤。生産環境中,我們肯定是不能開啟調試模式的,這樣很不安全。但是我們又需要快速的定位錯誤,需要怎麼做呢?總結一下,PHP中常用的有以下三個函數

register_shutdown_function(array(‘Debug’,'fatalError’)); //定義PHP程式執行完成後執行的函數

set_error_handler(array(‘Debug’,'appError’)); // 設定一個使用者定義的錯誤處理函數

set_exception_handler(array(‘Debug’,'appException’)); //自定義異常處理。今天我們先來學習一下第一個函數:register_shutdown_function()

功能:register_shutdown_function() 函數可實作當程式執行完成後執行的函數,其功能為實作程式執行完成的後續操作。

程式在運作的時候可能存在執行逾時,或強制關閉等情況,但這種情況下預設的提示是非常不友好的,如果使用register_shutdown_function()函數捕獲異常,就能提供更加友好的錯誤展示方式,同時可以實作一些功能的後續操作,如執行完成後的臨時資料清理,包括臨時檔案等。

error_get_last()函數是用來擷取程式中最後出現的錯誤,結合register_shutdown_function()函數可以用來擷取目前腳本檔案中最後出現的錯誤,具體使用如下:

register_shutdown_function(function(){

var_dump(error_get_last());

});