reporting错误级别变量对照表

PHP中所有的报错信息可以用error_reporting()这个函数来设置:

它的参数有字符串和数字两种表示方法,共14个等级,但是呢,我看使用其他数字貌似也可以,起初我以为它指的是一定的报错区间,后来,终于发现了其中的规律:

复制代码 代码如下:

error_reporting( 7 ) = error_reporting( 1+2+4)= error_reporting(E_ERROR | E_WARING | E_PARSE)

现在,我将其总结如下:

数字   常量   说明  
1   E_ERROR   致命错误,脚本执行中断,就是脚本中有不可识别的东西出现
举例: Error:Invalid parameters. Invalid parameter name
 
2   E_WARNING   部分代码出错,但不影响整体运行
举例: Warning: require_once(E:/include/config_base.php)
 
4   E_PARSE    字符、变量或结束的地方写规范有误
举例:  Parse error: syntax error, unexpected $end in
 
   E_NOTICE   一般通知,如变量未定义等
举例:  Notice: Undefined variable: p in E:\web\index.php on line 17
 
16    E_CORE_ERROR   PHP进程在启动时,发生了致命性错误
举例:  暂无
 
32    E_CORE_WARNING   在PHP启动时警告(非致命性错误)
举例:  暂无
 
64   E_COMPILE_ERROR   编译时致命性错误
举例:  暂无
 
128   E_COMPILE_WARNING   编译时警告级错误
举例:  暂无
 
256   E_USER_ERROR    用户自定义的错误消息
举例:  暂无
 
512   E_USER_WARNING   用户自定义的警告消息
举例:  暂无
 
1024   E_USER_NOTICE    用户自定义的提醒消息
举例:  暂无
 
2047   E_ALL   以上所有的报错信息,但不包括E_STRICT的报错信息
举例:  暂无
 
2048   E_STRICT   编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。  

error_reporting 变量的默认值是  E_ALL & ~E_NOTICE
开发时,最佳的值为: E_ALL | E_STRICT

如果设置为:error_reporting(E_ALL | E_STRICT),则表示记录所有的错误信息
可能会导致网站出现一大堆的错误代码;但是对于程序员来说应该说是一件好事,可以把代码优化到最优; 一些非致命性错误虽然不影响程序的运行,但是会加重PHP的负担.


最后,晒出英文版的对照表:

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)  

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/596e6e4774fb210a8c56d50bf0f46a8f.html