定義和用法
error_reporting() 設定 PHP 的報錯層級並返回當前層級。
文法
error_reporting(report_level)
如果參數 level 未指定,當前報錯層級將被返回。下面幾項是 level 可能的值:
值 常量 描述
| 1 |
E_ERROR |
Fatal run-time errors. Errors that can not be recovered from. Execution of the script is halted |
| 2 |
E_WARNING |
Non-fatal run-time errors. Execution of the script is not halted |
| 4 |
E_PARSE |
Compile-time parse errors. Parse errors should only be generated by the parser |
| 8 |
E_NOTICE |
Run-time notices. The script found something that might be an error, but could also happen when running a script normally |
| 16 |
E_CORE_ERROR |
Fatal errors at PHP startup. This is like an E_ERROR in the PHP core |
| 32 |
E_CORE_WARNING |
Non-fatal errors at PHP startup. This is like an E_WARNING in the PHP core |
| 64 |
E_COMPILE_ERROR |
Fatal compile-time errors. This is like an E_ERROR generated by the Zend Scripting Engine |
| 128 |
E_COMPILE_WARNING |
Non-fatal compile-time errors. This is like an E_WARNING generated by the Zend Scripting Engine |
| 256 |
E_USER_ERROR |
Fatal user-generated error. This is like an E_ERROR set by the programmer using the PHP function trigger_error() |
| 512 |
E_USER_WARNING |
Non-fatal user-generated warning. This is like an E_WARNING set by the programmer using the PHP function trigger_error() |
| 1024 |
E_USER_NOTICE |
User-generated notice. This is like an E_NOTICE set by the programmer using the PHP function trigger_error() |
| 2048 |
E_STRICT |
Run-time notices. PHP suggest changes to your code to help interoperability and compatibility of the code |
| 4096 |
E_RECOVERABLE_ERROR |
Catchable fatal error. This is like an E_ERROR but can be caught by a user defined handle (see also set_error_handler()) |
| 8191 |
E_ALL |
All errors and warnings, except level E_STRICT (E_STRICT will be part of E_ALL as of PHP 6.0) |
例子
任意數目的以上選項都可以用“或”來串連(用 OR 或 |),這樣可以報告所有需要的各層級錯誤。例如,下面的代碼關閉了使用者自訂的錯誤和警告,執行了某些操作,然後恢複到原始的報錯層級: