PHP - 錯誤與日誌記錄函式



這些函式用於錯誤處理和日誌記錄。它們允許您定義自己的錯誤處理規則,以及修改錯誤的記錄方式。這使您可以更改和增強錯誤報告以滿足您的需求。

使用這些日誌記錄函式,您可以將訊息直接傳送到其他機器、電子郵件或系統日誌等,以便您可以選擇性地記錄和監控應用程式和網站中最重要的部分。

安裝

錯誤和日誌記錄函式是 PHP 核心的一部分。使用這些函式無需安裝。

執行時配置

這些函式的行為受 php.ini 中的設定影響。這些設定定義如下。

名稱 預設值 可更改 變更日誌
error_reporting NULL PHP_INI_ALL
display_errors "1" PHP_INI_ALL
display_startup_errors "0" PHP_INI_ALL PHP 4.0.3 起可用。
log_errors "0" PHP_INI_ALL
log_errors_max_len "1024" PHP_INI_ALL PHP 4.3.0 起可用。
ignore_repeated_errors "0" PHP_INI_ALL PHP 4.3.0 起可用。
ignore_repeated_source "0" PHP_INI_ALL PHP 4.3.0 起可用。
report_memleaks "1" PHP_INI_ALL PHP 4.3.0 起可用。
track_errors "0" PHP_INI_ALL
html_errors "1" PHP_INI_ALL 在 PHP <= 4.2.3 中為 PHP_INI_SYSTEM。PHP 4.0.2 起可用。
docref_root "" PHP_INI_ALL PHP 4.3.0 起可用。
docref_ext "" PHP_INI_ALL PHP 4.3.2 起可用。
error_prepend_string NULL PHP_INI_ALL
error_append_string NULL PHP_INI_ALL
error_log NULL PHP_INI_ALL
warn_plus_overloading NULL 從 PHP 4.0.0 開始,此選項不再可用

PHP 錯誤和日誌記錄常量

PHP - 指示支援該常量的最早 PHP 版本。

在配置 php.ini 檔案時,您可以使用任何常量。

常量和描述 PHP
1

E_ERROR

嚴重的執行時錯誤。無法恢復的錯誤。指令碼執行將停止

2

E_WARNING

非嚴重的執行時錯誤。指令碼執行不會停止

4

E_PARSE

編譯時解析錯誤。解析錯誤應該只由解析器生成

8

E_NOTICE

執行時通知。指令碼發現了一些可能是錯誤的東西,但也可能在正常執行指令碼時發生

16

E_CORE_ERROR

PHP 啟動時的嚴重錯誤。這類似於 PHP 核心中的 E_ERROR

4
32

E_CORE_WARNING

PHP 啟動時的非嚴重錯誤。這類似於 PHP 核心中的 E_WARNING

4
64

E_COMPILE_ERROR

嚴重的編譯時錯誤。這類似於由 Zend 指令碼引擎生成的 E_ERROR

4
128

E_COMPILE_WARNING

非嚴重的編譯時錯誤。這類似於由 Zend 指令碼引擎生成的 E_WARNING

4
256

E_USER_ERROR

使用者生成的嚴重錯誤。這類似於程式設計師使用 PHP 函式 trigger_error() 設定的 E_ERROR

4
512

E_USER_WARNING

使用者生成的非嚴重警告。這類似於程式設計師使用 PHP 函式 trigger_error() 設定的 E_WARNING

4
1024

E_USER_NOTICE

使用者生成的通知。這類似於程式設計師使用 PHP 函式 trigger_error() 設定的 E_NOTICE

4
2048

E_STRICT

執行時通知。PHP 建議您更改程式碼以幫助程式碼的互操作性和相容性

5
4096

E_RECOVERABLE_ERROR

可捕獲的致命錯誤。這類似於 E_ERROR,但可以被使用者定義的處理程式捕獲(另請參見 set_error_handler())

5
8191

E_ALL

所有錯誤和警告,除了 E_STRICT 級別的錯誤和警告

5

函式列表

PHP - 指示支援該函式的最早 PHP 版本。

序號 高階功能和描述 PHP
1 debug_backtrace()

生成回溯

4
2 debug_print_backtrace()

列印回溯

5
3 error_get_last()

獲取最後發生的錯誤

5
4 error_log()

將錯誤傳送到伺服器錯誤日誌、檔案或遠端目標

4
5 error_reporting()

指定要報告的錯誤

4
6 restore_error_handler()

恢復之前的錯誤處理程式

4
7 restore_exception_handler()

恢復之前的異常處理程式

5
8 set_error_handler()

設定使用者定義的函式來處理錯誤

4
9 set_exception_handler()

設定使用者定義的函式來處理異常

5
10 trigger_error()

建立使用者定義的錯誤訊息

4
11 user_error()

trigger_error() 的別名

4
php_function_reference.htm
廣告