• 技术文章 >后端开发 >php教程

    PHP的error_reporting错误级别变量对照表_PHP

    2016-06-01 11:52:08原创330
    在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
    8 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)
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析_PHP 下一篇:PHP的魔术常量__METHOD__简介_PHP
    php培训_php实战培训【立即报名】-php中文网第20期

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 分享一个有趣的php版本的扫雷!• php常见的页面跳转方法汇总_PHP教程• 装饰器模式,装饰模式_PHP教程• PHP版微信公众平台红包API,php公众红包api_PHP教程• PHP中使用Memache作为进程锁的操作类分享_PHP教程
    1/1

    PHP中文网