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获取随机数字和字母的方法详解
Jun 06 PHP
thinkphp的CURD和查询方式介绍
Dec 19 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 PHP
PHP基于CURL进行POST数据上传实例
Nov 10 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
PHP实现递归无限级分类
Oct 22 PHP
CI配置多数据库访问的方法
Mar 28 PHP
PHP封装的MSSql操作类完整实例
May 26 PHP
php实现URL加密解密的方法
Nov 17 PHP
yii2学习教程之5种内置行为类详解
Aug 03 PHP
php实现微信支付之现金红包
May 30 PHP
laravel配置Redis多个库的实现方法
Apr 10 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对文件进行hash运算的方法
2015/04/03 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
JavaScript中的其他对象
2008/01/16 Javascript
通过修改referer下载文件的方法
2008/05/11 Javascript
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
2014/08/05 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
利用vscode编写vue的简单配置详解
2017/06/17 Javascript
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
vue实现登录功能
2020/12/31 Vue.js
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
关于python中密码加盐的学习体会小结
2019/07/15 Python
学习Django知识点分享
2019/09/11 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
宿舍打麻将检讨书
2014/01/24 职场文书
房屋转让协议书
2014/04/11 职场文书
汽车广告策划方案
2014/05/31 职场文书
父亲节活动总结
2015/02/12 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers
vue3不同环境下实现配置代理
2022/05/25 Vue.js