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 相关文章推荐
php桌面中心(三) 修改数据库
Mar 11 PHP
PHP性能优化工具篇Benchmark类调试执行时间
Dec 06 PHP
PHP判断是否有Get参数的方法
May 05 PHP
Yii中render和renderPartial的区别
Sep 03 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
Aug 31 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
php简单获取复选框值的方法
May 11 PHP
PHP中的表达式简述
May 29 PHP
实例分析PHP中PHPMailer发邮件
Dec 13 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 24 PHP
基于PHP+mysql实现新闻发布系统的开发
Aug 06 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中的实现trim函数代码
2007/03/19 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
Vue中props的使用详解
2018/06/15 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
小程序实现图片移动缩放效果
2020/05/26 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
Python入门篇之字典
2014/10/17 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
Python中实现变量赋值传递时的引用和拷贝方法
2018/04/29 Python
python设置环境变量的原因和方法
2019/06/24 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
Python安装OpenCV的示例代码
2020/03/05 Python
Python任务自动化工具tox使用教程
2020/03/17 Python
django美化后台django-suit的安装配置操作
2020/07/12 Python
python如何设置静态变量
2020/09/07 Python
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
params有什么用
2016/03/01 面试题
售后服务承诺书
2014/03/26 职场文书
党员政治学习材料
2014/05/14 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
如何起草一份正确的合伙创业协议书?
2019/07/04 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang
Oracle以逗号分隔的字符串拆分为多行数据实例详解
2021/07/16 Oracle