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


Posted in PHP onJuly 08, 2014

在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)
PHP 相关文章推荐
目录,文件操作详谈―PHP
Nov 25 PHP
改变Apache端口等配置修改方法
Jun 05 PHP
PHP 反向排序和随机排序代码
Jun 30 PHP
PHP sprintf()函数用例解析
May 18 PHP
php求正负数数组中连续元素最大值示例
Apr 11 PHP
php实现singleton()单例模式实例
Nov 06 PHP
9条PHP编程小知识及易犯的小错误
Jan 22 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
Mar 05 PHP
CodeIgniter中使用Smarty3基本配置
Jun 29 PHP
PHP+MySQL之Insert Into数据插入用法分析
Sep 27 PHP
php结合ajax实现手机发红包的案例
Oct 13 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 #PHP
php+mysql不用递归实现的无限级分类实例(非递归)
Jul 08 #PHP
PHP生成短网址的3种方法代码实例
Jul 08 #PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 #PHP
php中函数前加&符号的作用分解
Jul 08 #PHP
PHP实现的连贯操作、链式操作实例
Jul 08 #PHP
PHP类中的魔术方法(Magic Method)简明总结
Jul 08 #PHP
You might like
收集的DedeCMS一些使用经验
2007/03/17 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
js删除所有的cookie的代码
2010/11/25 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
2015/12/01 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
浅谈Vue网络请求之interceptors实际应用
2018/02/28 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
js中的闭包实例展示
2018/11/01 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
python实现的一个p2p文件传输实例
2014/06/04 Python
Python实现简单登录验证
2016/04/13 Python
tensorflow 中对数组元素的操作方法
2018/07/27 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
django rest framework serializers序列化实例
2020/05/13 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
Python实现简单的2048小游戏
2021/03/01 Python
H5最强接口之canvas实现动态图形功能
2019/05/31 HTML / CSS
美国户外生活方式品牌:Eddie Bauer
2016/12/28 全球购物
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
如何在Shell脚本中使用函数
2015/09/06 面试题
物业管理专业个人的自我评价
2013/11/19 职场文书
致400米运动员广播稿
2014/02/07 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
将图片保存到mysql数据库并展示在前端页面的实现代码
2021/05/02 MySQL
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android
MySql分区类型及创建分区的方法
2022/04/13 MySQL
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技