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中使用Oracle数据库(4)
Oct 09 PHP
PHP伪静态页面函数附使用方法
Jun 20 PHP
php 冒泡排序 交换排序法
May 10 PHP
PHP 第二节 数据类型之转换
Apr 28 PHP
windows下安装php的memcache模块的方法
Apr 07 PHP
PHP中的traits简单使用实例
May 13 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
Nov 20 PHP
php正则表达式基本知识与应用详解【经典教程】
Apr 17 PHP
PHP 二维array转换json的实例讲解
Aug 21 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 PHP
PHP中str_split()函数的用法讲解
Apr 11 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
php空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
Javascript中各种trim的实现详细解析
2013/12/10 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
vue.js实现备忘录功能的方法
2017/07/10 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
jquery 插件重新绑定的处理方法分析
2019/11/23 jQuery
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
Django 跨域请求处理的示例代码
2018/05/02 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
python中添加模块导入路径的方法
2021/02/03 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
Spanx塑身衣官网:美国知名内衣品牌
2017/01/11 全球购物
委托证明的格式
2014/01/10 职场文书
副护士长竞聘演讲稿
2014/04/30 职场文书
银行进社区活动总结
2014/07/07 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
初中优秀学生评语
2014/12/29 职场文书
Java字符缓冲流BufferedWriter
2022/04/09 Java/Android