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 has encountered an Access Violation
Jan 15 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
Jul 19 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 PHP
PHP JS Ip地址及域名格式检测代码
Sep 27 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
PHP6 中可能会出现的新特性预览
Apr 04 PHP
PHP获取文件的MD5值并判断是否被修改的例子
Jun 19 PHP
php+jQuery.uploadify实现文件上传教程
Dec 26 PHP
PHP操作Redis常用技巧总结
Apr 24 PHP
php中上传文件的的解决方案
Sep 25 PHP
PHP远程连接oracle数据库操作实现方法图文详解
Apr 11 PHP
phpstudy后门rce批量利用脚本的实现
Dec 12 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中操作Excel实例代码
2010/04/29 PHP
phpQuery让php处理html代码像jQuery一样方便
2015/01/06 PHP
js资料prototype 属性
2007/03/13 Javascript
javascript 变量作用域 代码分析
2009/06/26 Javascript
js获取图片大小的函数代码
2011/09/20 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
javascript RegExp 使用说明
2016/05/21 Javascript
js判断复选框是否选中及选中个数的实现代码
2016/05/30 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
js移动焦点到最后位置的简单方法
2016/11/25 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
[34:47]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第一场 11.18
2020/11/18 DOTA
pandas带有重复索引操作方法
2018/06/08 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
大学生毕业求职自荐书范文
2014/02/04 职场文书
《风筝》教学反思
2014/04/10 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
《秋思》教学反思
2016/02/23 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server