定義和用法:
error_reporting() 設定 php 的報錯級別並返回當前級別。
函式語法:
error_reporting(report_level)
如果引數 level 未指定,當前報錯級別將被返回。下面幾項是 level 可能的值:
值 常量 描述
1 e_error 致命的執行錯誤。錯誤無法恢復,暫停執行指令碼。
2 e_warning 執行時警告(非致命性錯誤)。非致命的執行錯誤,指令碼執行不會停止。
4 e_parse 編譯時解析錯誤。解析錯誤只由分析器產生。
8 e_notice 執行時提醒(這些經常是你**中的bug引起的,也可能是有意的行為造成的。)
16 e_core_error php啟動時初始化過程中的致命錯誤。
32 e_core_warning php啟動時初始化過程中的警告(非致命性錯)。
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 編碼標準化警告。允許php建議如何修改**以確保最佳的互操作性向前相容性。
4096 e_recoverable_error 開捕致命錯誤。這就像乙個e_error,但可以通過使用者定義的處理捕獲(又見set_error_handler())
8191 e_all 所有的錯誤和警告(不包括 e_strict) (e_strict will be part of e_all as of php 6.0)
例子:任意數目的以上選項都可以用「或」來連線(用 or 或 |),這樣可以報告所有需要的各級別錯誤。
例如,下面的**關閉了使用者自定義的錯誤和警告,執行了某些操作,然後恢復到原始的報錯級別:
<?php
//禁用錯誤報告
error_reporting(0);
//報告執行時錯誤
error_reporting(e_error | e_warning | e_parse);
//報告所有錯誤
error_reporting(e_all);
?>
乙個簡單的例子是:
error_reporting(e_error | e_warning | e_parse | e_notice);
他表示php錯誤,警告,語法錯誤,提醒都返錯.
php 報錯等級
很多情況下,我們的php檔案會出現一些非常難以排查的錯誤,比如輸出大白頁,調錯無從下手。這是可能php的錯誤等級遮蔽了一些非致命的錯誤,造成沒有任何錯誤提示。所以了解和熟悉php錯誤等級,或許能夠成為調錯的新方法。php.ini中的錯誤報告等級預設情況下,php錯誤報告等級是e notice,e a...
PHP錯誤等級
f 很多情況下,我們的php檔案會出現一些非常難以排查的錯誤,比如輸出大白頁,調錯無從下手。這是可能php的錯誤等級遮蔽了一些非致命的錯誤,造成沒有任何錯誤提示。所以了解和熟悉php錯誤等級,或許能夠成為調錯的新方法。php.ini中的錯誤報告等級預設情況下,php錯誤報告等級是e notice,e...
php報錯和時間
錯誤處理 錯誤的分類 語法錯誤 這種錯誤最常見,但也最容易搞定 一旦出現,一行 都不執行 執行時錯誤 在頁面上給你報出來,有的會終止 執行,有的不會 邏輯錯誤 這種錯誤最麻煩 錯誤的級別 notice 提示級別,不會影響後續 的執行 如 輸出不存在的變數 warning 警告級別,也不會終止 執行 ...