PHP Error 和 Logging 函數-7.5PHP 參考手冊
閱讀 ?·? 發布日期 2019-06-29 08:38 ?·? adminPHP Error 簡介
Error 和 Logging 函數允許您對錯誤進行處理和記錄。
Error 函數允許用戶定義錯誤處理規則,并修改記錄錯誤的方式。
Logging 函數允許用戶對應用程序進行日志記錄,并把日志消息發送到電子郵件、系統日志或其他的機器。
error 函數用于完成錯誤處理和日志記錄。
error 函數允許我們定義自己的錯誤處理規則,并修改錯誤記錄方式。
logging 函數允許我們將消息直接發送到其他機器、電郵或系統日志。
error reporting 函數允許我們錯誤的類型和層級。
安裝
PHP error 函數是 PHP 核心的一部分。無需安裝即可使用這些函數。
Runtime 配置
error 函數的行為受到 php.ini 中設置的影響。
Errors 和 logging 配置選項如下:
名稱 | 默認值 | 描述 | 可修改范圍 |
---|---|---|---|
error_reporting | NULL | 設置錯誤報告級別(整數或命名常量) | PHP_INI_ALL |
display_errors | "1" |
規定是否將錯誤作為輸出輸出到屏幕,或者對用戶隱藏。 注意:該特性不應在生產系統上使用(僅支持開發) |
PHP_INI_ALL |
display_startup_errors | "0" |
即使 display_errors 設置為開啟, PHP 啟動過程中的錯誤信息也不會被顯示。 注釋:強烈建議除了調試目的以外,將 display_startup_errors 設置為關閉。 |
PHP_INI_ALL |
log_errors | "0" |
設置是否將腳本運行的錯誤信息記錄到服務器錯誤日志或者 error_log 之中。 注釋:這是與服務器相關的特定配置項。 注釋:在生產系統中,強烈建議你使用錯誤日志記錄web站點上顯示的錯誤信息。 |
PHP_INI_ALL |
log_errors_max_len | "1024" |
設置 log_errors 的最大字節數。在 error_log 會添加有關錯誤源的信息。 默認值為 1024,如果設置為 0 表示不限長度。 該長度設置對記錄的錯誤,顯示的錯誤,以及 $php_errormsg 都會有限制作用。 |
PHP_INI_ALL |
ignore_repeated_errors | "0" |
規定是否記錄重復的錯誤信息。 重復的錯誤必須出現在同一個文件中的同一行代碼上,除非 ignore_repeated_source 設置為 true。 |
PHP_INI_ALL |
ignore_repeated_source | "0" |
規定是否記錄重復的錯誤信息。忽略重復消息時,也忽略消息的來源。 當該設置開啟時,重復信息將不會記錄它是由不同的文件還是不同的源代碼行產生的。 |
PHP_INI_ALL |
report_memleaks | "1" | 如果該參數被設置為 On(默認),則會顯示由 Zend 內存管理器偵測到的內存泄露報告。 | PHP_INI_ALL |
track_errors | "0" | 如果開啟,最后一個錯誤將永遠存在于變量 $php_errormsg 中。 | PHP_INI_ALL |
html_errors | "1" | 在錯誤信息中關閉 HTML 標簽。 |
|
xmlrpc_errors | "0" | 如果啟用,則關閉正常的錯誤報告,并將錯誤的格式設置為 XML-RPC 錯誤信息的格式。 | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | 用作 XML-RPC faultCode 元素的值。 | PHP_INI_ALL |
docref_root | "" | (available since PHP 4.3) | PHP_INI_ALL |
docref_ext | "" | (available since PHP 4.3.2) | PHP_INI_ALL |
error_prepend_string | NULL | 規定錯誤信息之前輸出的字符串。 | PHP_INI_ALL |
error_append_string | NULL | 規定錯誤信息之后輸出的字符串。 | PHP_INI_ALL |
error_log | NULL |
設置腳本錯誤將被記錄到的文件。該文件必須是 web 服務器用戶可寫的。 如果使用了特殊值 syslog,則將錯誤信息發送到系統日志記錄器。 |
PHP_INI_ALL |
PHP Error 和 Logging 函數
函數 | 描述 |
---|---|
debug_backtrace() | 生成 backtrace。 |
debug_print_backtrace() | 打印 backtrace。 |
error_get_last() | 返回最后發生的錯誤。 |
error_log() | 向服務器錯誤記錄、文件或遠程目標發送錯誤消息。 |
error_reporting() | 規定報告哪個錯誤。 |
restore_error_handler() | 恢復之前的錯誤處理程序。 |
restore_exception_handler() | 恢復之前的異常處理程序。 |
set_error_handler() | 設置用戶自定義的錯誤處理函數。 |
set_exception_handler() | 設置用戶自定義的異常處理函數。 |
trigger_error() | 創建用戶級別的錯誤消息。 |
user_error() | trigger_error() 的別名。 |
PHP 5 預定義錯誤和日志常量
值 | 常量 | 描述 |
---|---|---|
1 | E_ERROR | 運行時致命的錯誤。不能修復的錯誤。終止執行腳本。 |
2 | E_WARNING | 運行時非致命的錯誤。不終止執行腳本。 |
4 | E_PARSE | 編譯時語法解析錯誤。解析錯誤僅僅由分析器產生。 |
8 | E_NOTICE | 運行時通知。表示腳本遇到可能會表現為錯誤的情況,但是在可以正常運行的腳本里面也可能會有類似的通知。 |
16 | E_CORE_ERROR | 在 PHP 初始化啟動過程中發生的致命錯誤。該錯誤類似 E_ERROR,但是是由 PHP 引擎核心產生的。 |
32 | E_CORE_WARNING | PHP 初始化啟動過程中發生的警告 (非致命錯誤) 。類似 E_WARNING,但是是由 PHP 引擎核心產生的。 |
64 | E_COMPILE_ERROR | 致命編譯時錯誤。類似 E_ERROR, 但是是由 Zend 腳本引擎產生的。 |
128 | E_COMPILE_WARNING | 編譯時警告 (非致命錯誤)。類似 E_WARNING,但是是由 Zend 腳本引擎產生的。 |
256 | E_USER_ERROR | 用戶產生的錯誤信息。類似 E_ERROR, 但是是由用戶自己在代碼中使用PHP函數 trigger_error()來產生的。 |
512 | E_USER_WARNING | 用戶產生的警告信息。類似 E_WARNING, 但是是由用戶自己在代碼中使用 PHP 函數 trigger_error() 來產生的。 |
1024 | E_USER_NOTICE | 用戶產生的通知信息。類似 E_NOTICE, 但是是由用戶自己在代碼中使用 PHP 函數 trigger_error() 來產生的。 |
2048 | E_STRICT | 啟用 PHP 對代碼的修改建議,以確保代碼具有最佳的互操作性和向前兼容性。 |
4096 | E_RECOVERABLE_ERROR | 可被捕捉的致命錯誤。它表示發生了一個可能非常危險的錯誤,但是還沒有導致 PHP 引擎處于不穩定的狀態。 如果該錯誤沒有被用戶自定義句柄捕獲 (參見 set_error_handler()),將成為一個 E_ERROR 從而腳本會終止運行。 |
8192 | E_DEPRECATED | 運行時通知。啟用后將會對在未來版本中可能無法正常工作的代碼給出警告。 |
16384 | E_USER_DEPRECATED | 用戶產生的警告信息。類似 E_DEPRECATED, 但是是由用戶自己在代碼中使用 PHP 函數 trigger_error() 來產生的。 |
32767 | E_ALL | E_STRICT 除非的所有錯誤和警告信息。 |
為您推薦
- 襯塑管網站建設_網頁定制制作與開發 2020-01-12
- 保溫管網站建設_網頁定制制作與開發 2020-01-12
- 玻璃管網站建設_網頁定制制作與開發 2020-01-12
- 鍍鋅方矩管網站建設_網頁定制制作與 2020-01-12
- PVC管材網站建設_網頁定制制作與開發 2020-01-12