- 相關推薦
PHP中error-reporting函數用法
PHP中對錯誤的處理會用到error_reporting函數,看到最多的是error_reporting(E_ALL ^ E_NOTICE),這個是什么意思呢?下面我們具體分析error_reporting函數。
定義用法
error_reporting() 設置 PHP 的報錯級別并返回當前級別。
語法
error_reporting(report_level)
如果參數 report_level 未指定,當前報錯級別將被返回。下面幾項是 report_level 可能的值:
值 | 常量 | 描述 |
---|---|---|
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 | 用戶自定義的致命錯誤 |
512 | E_USER_WARNING | 用戶自定義的警告(非致命性錯誤) |
1024 | E_USER_NOTICE | 用戶自定義的提醒(經常是bug,也可能是有意的) |
2048 | E_STRICT | 編碼標準化警告(建議如何修改以向前兼容) |
4096 | E_RECOVERABLE_ERROR | 接近致命的運行時錯誤,若未被捕獲則視同E_ERROR |
8191 | E_ALL | 除E_STRICT外的所有錯誤 |
PHP默認不開啟錯誤,所以你需要配置php.ini文件:
將 display_errors = Off 改為 display_errors = On
另外還要配置錯誤級別,因為 PHP 默認是顯示所有錯誤的,而有些無害的提示我們不需要,所以設置如下:
將 error_reporting = E_ALL 改為 error_reporting = E_ALL & ~E_NOTICE
在 PHP 代碼中運用例子:
提示:任意數目的以上選項都可以用“或”來連接(用 OR 或 |),這樣可以報告所有需要的各級別錯誤。例如,下面的代碼關閉了用戶自定義的錯誤和警告,執行了某些操作,然后恢復到原始的報錯級別:
了解 error_reporting 函數是如何使用的,再看 error_reporting(E_ALL ^ E_NOTICE) 這段代碼,意思是顯示除去 E_NOTICE 之外的所有錯誤信息。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
【PHP中error-reporting函數用法】相關文章:
簡單介紹php構造函數用法08-31
PHP中函數的使用說明09-01
PHP中的排序函數區別分析08-23
PHP的壓縮函數06-21
php中dirname()和--FILE--常量的用法09-26
淺析php函數的實例06-08
PHP中date函數常用時間處理方法09-13
PHP中MySQL、MySQLi和PDO的用法和區別07-01
簡單分析PHP中序列化用法介紹08-15
php外部執行命令函數10-27