PHP中error_reporting函数用法详细介绍


Posted in PHP onJune 11, 2017

PHP中error_reporting函数用法详细介绍

PHP中对错误的处理会用到error_reporting函数,看到最多的是error_reporting(E_ALL ^ E_NOTICE),这个是什么意思呢?下面我们具体分析error_reporting函数。

定义用法

error_reporting() 设置 PHP 的报错级别并返回当前级别。

语法

error_reporting(report_level)

如果参数 report_level 未指定,当前报错级别将被返回。下面几项是 report_level 可能的值:

常量 描述
1 E_ERROR 致命的运行时错误。无法恢复的错误。停止执行脚本。
2 E_WARNING 非致命的运行时错误。脚本的执行并没有停止。
4 E_PARSE 编译时错误。
8 E_NOTICE 运行时提醒。
16 E_CORE_ERROR 在PHP启动时的致命错误。这就好比一个在PHP核心的E_ERROR
32 E_CORE_WARNING 在PHP启动时的非致命的错误。这就好比一个在PHP核心E_WARNING警告
64 E_COMPILE_ERROR 致命的编译时错误。 这就像由Zend脚本引擎生成了一个E_ERROR
128 E_COMPILE_WARNING 非致命的编译时错误,由Zend脚本引擎生成了一个E_WARNING警告
256 E_USER_ERROR 用户自定义的致命错误
512 E_USER_WARNING 用户自定义的警告(非致命性错误)
1024 E_USER_NOTICE 用户自定义的提醒(经常是bug,也可能是有意的)
2048 E_STRICT 编码标准化警告(建议如何修改以向前兼容)
4096 E_RECOVERABLE_ERROR 接近致命的运行时错误,若未被捕获则视同E_ERROR
8191 E_ALL 除E_STRICT外的所有错误

PHP默认不开启错误,所以你需要配置php.ini文件:

将 display_errors = Off 改为 display_errors = On

另外还要配置错误级别,因为 PHP 默认是显示所有错误的,而有些无害的提示我们不需要,所以设置如下:

将 error_reporting = E_ALL 改为 error_reporting = E_ALL & ~E_NOTICE

在 PHP 代码中运用例子:

提示:任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:

<?php
 
//禁用错误报告
 
error_reporting(0);
 
//报告运行时错误
 
error_reporting(E_ERROR | E_WARNING | E_PARSE);
 
//报告所有错误
 
error_reporting(E_ALL);
 
?>

了解 error_reporting 函数是如何使用的,再看 error_reporting(E_ALL ^ E_NOTICE) 这段代码,意思是显示除去 E_NOTICE 之外的所有错误信息。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
在数据量大(超过10万)的情况下
Jan 15 PHP
理解PHP中的stdClass类
Apr 18 PHP
ThinkPHP 3.2 版本升级了哪些内容
Mar 05 PHP
PHP中addcslashes与stripcslashes函数用法分析
Jan 07 PHP
php 无限分类 树形数据格式化代码
Oct 11 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
Jun 06 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
Aug 09 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
Yii2语言国际化的配置教程
Aug 19 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
Sep 26 PHP
php实现的顺序线性表示例
May 04 PHP
PHP查找一列有序数组是否包含某值的方法
Feb 07 PHP
详解PHP处理字符串类似indexof的方法函数
Jun 11 #PHP
PHP获取文件扩展名的方法实例总结
Jun 10 #PHP
PHP获取数组中单列值的方法
Jun 10 #PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 #PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
Jun 10 #PHP
全面解析PHP面向对象的三大特征
Jun 10 #PHP
PHP查询分页的实现代码
Jun 09 #PHP
You might like
php下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
为你总结一些php信息函数
2015/10/21 PHP
PHP使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
PHP程序中使用adodb连接不同数据库的代码实例
2015/12/19 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
PHP使用递归按层级查找数据的方法
2019/11/10 PHP
jQuery 页面 Mask实现代码
2010/01/09 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
结合mint-ui移动端下拉加载实践方法总结
2017/11/08 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
2018/04/10 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
JS中超越现实的匿名函数用法实例分析
2019/06/21 Javascript
js实现轮播图特效
2020/05/28 Javascript
Python中os和shutil模块实用方法集锦
2014/05/13 Python
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python下的twisted框架入门指引
2015/04/15 Python
Python面试题:如何用Python来发送邮件
2016/03/15 面试题
上课讲话检讨书范文
2015/05/07 职场文书
2016年寒假学习心得体会
2015/10/09 职场文书
2016年大学生实习单位评语
2015/12/01 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
vue 实现上传组件
2021/05/31 Vue.js
解决Pytorch修改预训练模型时遇到key不匹配的情况
2021/06/05 Python
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android
python获取带有返回值的多线程
2022/05/02 Python
vscode内网访问服务器的方法
2022/06/28 Servers