PHP錯誤級別詳解

2021-07-10 02:20:35 字數 1524 閱讀 5462

在php開發的時候常常會用到error_reporting(report_level)來除錯自己的程式,下面列出了report_level可能值:值常量

描述1e_error

這是乙個嚴重錯誤,不可恢復,如位置異常,記憶體不足等

2e_warning

警告,最一般的錯誤,如函式的引數錯誤等

4e_parse

解析錯誤,在解析php檔案時產生,並強制php在執行前退出

8e_notice

通告表示可能在操作一些未知的變數等。在開發時可開啟通告,以保證程式是"安全通告"的,瑞在正式系統中,應關閉通告

16e_core_error

這個內部錯誤是由於php載入擴充套件失敗而導致的,並且會導致php停止執行並退出

32e_core_warning

php啟動時初始化過程中的警告(非致命性錯)

64e_compile_error

編譯錯誤是在編譯時發生,這個錯誤將導致php執行退出

128e_compile_warning

編譯警告用於告訴使用者一些不推薦的語法資訊

256e_user_error

使用者定義的錯誤將導致辭php退出,它對是來自php自身,而是來自指令碼檔案中。

512e_user_warning

指令碼使用它來通知乙個執行失敗,同時php也會用e_warning通知

1024

e_user_notice

使用者定義的通告用於在指令碼中表示可能存在的錯誤

2048

e_strict

編碼標準化警告(建議如何修改以向前相容)

4096

e_recoverable_error

接近致命的執行時錯誤,若未**獲則視同e_error

8191

e_all

除e_strict外的所有錯誤(php6中為8191,即包含所有)

例子:任意數目的以上選項都可以用「或」來連線(用 or 或 |),這樣可以報告所有需要的各級別錯誤。例如,下面的**關閉了使用者自定義的錯誤和警告,執行了某些操作,然後恢復到原始的報錯級別:

<?php

//禁用錯誤報告

error_reporting(0);

//報告執行時錯誤

error_reporting(e_error | e_warning | e_parse);

//報告所有錯誤

error_reporting(e_all);

error_reporting(7);

/*設定php錯誤檢測級別

e_error - 致命性執行時錯 (1)

e_warning - 執行時警告(非致命性錯)(2)

e_parse - 編譯時解析錯誤 (4)

1+2+4 = 7

*/?>

我們熟悉的uchome系統中的除錯處理就採用了以下錯誤檢測級別:
d_bug ? error_reporting(7) : error_reporting(0);

php錯誤級別

php.ini檔案中的error reporting引數 error reporting可以設定的引數如下 錯誤報告是位欄位。可以將數字加起來得到想要的錯誤報告等級。e all 所有的錯誤和警告 不包括 e strict e error 致命性的執行時錯誤 e warning 執行時警告 非致命性錯...

php 錯誤級別

定義和用法 error reporting 設定 php 的報錯級別並返回當前級別。函式語法 error reporting report level 如果引數 level 未指定,當前報錯級別將被返回。下面幾項是 level 可能的值 值 常量 描述 1 e error 致命的執行錯誤。錯誤無法恢...

PHP 錯誤級別

在php開發的時候常常會用到error reporting report level 來除錯自己的程式,下面列出了report level可能值 值常量 描述1e error 這是乙個嚴重錯誤,不可恢復,如位置異常,記憶體不足等 2e warning 警告,最一般的錯誤,如函式的引數錯誤等 4e p...