在我們調試PHP代碼的時候,尤其是網站前臺向后臺AJAX數據的時候,如果后臺的PHP邏輯流程發生錯誤或代碼壞死,那么我們前臺會一直在加載的狀態,那么今天就說一下PHP中的一個獲取代碼最后錯誤的函數error_get_last()。

PHP中error_get_last()函數定義

PHP函數error_get_last()定義

国产视频apperror_get_last() 函數獲得最后發生的錯誤。

error_get_last()返回值

国产视频app該函數以數組的形式返回錯誤的信息,如果沒有錯誤發生就會近回null

国产视频app返回的錯誤數組包含 4 個鍵名和鍵值:

国产视频app[type] – 錯誤類型

[message] – 錯誤消息

[file] – 發生錯誤所在的文件

[line] – 發生錯誤所在的行

舉例代碼演示error_get_last()函數

定義一個錯誤,查看error_get_last()的返回值

代碼

<?php
//飛鳥慕魚博客
$s = 444;
$c = 666;
echo $c;
echo $a; //這里是錯誤的
echo '<br/>';
print_r(error_get_last());

php中的error_get_last()函數詳解以及用法

返回結果

666

Array ( [type] => 8 [message] => Undefined variable: a [file] => /www/wwwroot/vip/998.php [line] => 5 )

代碼強行中斷測試error_get_last()函數

国产视频app此測試沒有任何實際意義,只為驗證自己的某些想法

代碼

<?php
//飛鳥慕魚博客
$s = 444;
$c = 666;
echo $c;
echo $a; //這里是錯誤的
echo '<br/>';
//die(); //這里被強行停止
exit(); //這里被強行停止
print_r(error_get_last());

php中的error_get_last()函數詳解以及用法

輸出結果

666

国产视频app由上面的例子可以看出,如果代碼流程在錯誤發生之后被exti()或die()強行停止后,無法再調用error_get_last()函數來捕捉PHP代碼中的最后發生的錯誤信息(廢話),所以這里我要使用另外的一個register_shutdown_function()函數來配和error_get_last()函數來實現錯誤信息的反饋。