php error_reporting()函數詳解

來源:互聯網
上載者:User

error_reporting定義和用法

error_reporting() 設定 PHP 的報錯層級並返回當前層級。文法error_reporting(report_level)如果參數 report_level 未指定,當前報錯層級將被返回。

下面幾項是 report_level 可能的值,分14個等級供你自訂報錯的方式,有數字和字串兩種參數的寫法,中文說明對應如下:

數字 字串 說明

1 E_ERROR 致命的執行階段錯誤。 錯誤無法恢複過來。指令碼的執行被暫停

2 E_WARNING 非致命的執行階段錯誤。指令碼的執行不會停止
4 E_PARSE 編譯時間解析錯誤。解析錯誤應該只由分析器產生
8 E_NOTICE 已耗用時間的通知。該指令碼發現一些可能是一個錯誤,但也可能發生在正常運行一個指令碼
16 E_CORE_ERROR 在PHP啟動時的致命錯誤。這就好比一個在PHP核心的E_ERROR
32 E_CORE_WARNING 在PHP啟動時的非致命的錯誤。這就好比一個在PHP核心E_WARNING警告
64 E_COMPILE_ERROR 致命的編譯時間錯誤。這就像由Zend指令碼引擎產生了一個E_ERROR
128 E_COMPILE_WARNING 非致命的編譯時間錯誤。這就像由Zend指令碼引擎產生了一個E_WARNING警告
256 E_USER_ERROR 致命的使用者產生的錯誤。這就像由使用PHP函數trigger_error(程式員設定E_ERROR)
512 E_USER_WARNING 非致命的使用者產生的警告。這就像由使用PHP函數trigger_error(程式員設定的一個E_WARNING警告)
1024 E_USER_NOTICE 使用者產生的通知。這就像一個由使用PHP函數trigger_error(程式員一個E_NOTICE集)
2048 E_STRICT 已耗用時間的通知。
4096 E_RECOVERABLE_ERROR 捕捉致命的錯誤。這就像一個E_ERROR,但可以通過使用者定義的處理捕獲(又見set_error_handler())

8191 E_ALL來 所有的錯誤和警告,除非橫向E_STRICT(E_STRICT將是PHP 6.0中E_ALL來一部分的)其實還有個最牛叉的設定參數,無視一切錯誤警告請將參數設定為 0 。

比較實際具體的一點用法:

error_reporting(0);//禁用錯誤報表

error_reporting(E_ALL);//報告所有錯誤任意數目的以上選項都可以用“或”來串連(用 OR 或 |),這樣可以報告所有需要的各層級錯誤。

例如:

error_reporting(E_ERROR | E_WARNING | E_PARSE);//報告執行階段錯誤只要屏蔽notice錯誤,卻又不想屏蔽warning類的錯誤,

例如:

error_reporting(E_ALL & ~E_NOTICE);

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.