php 配置 error_reporting,关于php中的错误配置display_errors与error_reporting说明
1、是否要显示错误:display_errors
如果要提示出错误,我们需要将display_errors设置成On,只有设置成On之后,错误才会提示出来。
有两种方式:
第一种,修改php.ini,直接设置display_errors=On;
第二种,在程序中使用ini_set('display_errors','On')进行设置;
2、需要报告哪些错误:error_reporting
error_reporting的作用是设置报错的错误等级,有些错误如果觉得没有必要报出来就可以通过这个设置成不报错。
同样也有两种设置方式:
第一种,修改php.ini,直接设置error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT;
第二种,在程序中使用error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT)进行设置;
常用的错误等级设置:error_reporting(0); //禁用错误报告
error_reporting(E_ERROR | E_WARNING | E_PARSE);//报告运行时错误
error_reporting(E_ALL); //报告所有错误
error_reporting(E_ALL ^ E_NOTICE); //除E_NOTICE报告所有错误,是在php.ini的默认设置
error_reporting(-1); //报告所有 PHP 错误
error_reporting(3); //不报E_NOTICE
error_reporting(11); //报告所有错误
ini_set('error_reporting', E_ALL); // 和 error_reporting(E_ALL); 一样
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);//表示php错误,警告,语法错误,提醒都返错。
那么,php具体有哪些错误等级呢?我们来看看:
值常量描述
1E_ERROR致命的运行错误。错误无法恢复,暂停执行脚本
2E_WARNING运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止
4E_PARSE编译时解析错误。解析错误只由分析器产生
8E_NOTICE运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
16E_CORE_ERRORPHP启动时初始化过程中的致命错误
32E_CORE_WARNINGPHP启动时初始化过程中的警告(非致命性错)
64E_COMPILE_ERROR编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR
128E_COMPILE_WARNING编译时警告(非致命性错)。这就像由Zend脚本引擎生成了一个E_WARNING警告
256E_USER_ERROR用户自定义的错误消息。这就像由使用PHP函数trigger_error(程序员设置E_ERROR)
512E_USER_WARNING用户自定义的警告消息。这就像由使用PHP函数trigger_error(程序员设定的一个E_WARNING警告)
1024E_USER_NOTICE用户自定义的提醒消息。这就像一个由使用PHP函数trigger_error(程序员一个E_NOTICE集)
2048E_STRICT编码标准化警告。允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性
4096E_RECOVERABLE_ERROR开捕致命错误。这就像一个E_ERROR,但可以通过用户定义的处理捕获(又见set_error_handler())
8191E_ALL所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)
3、如果不想在页面上报错,但又想把错误以日志的方式记录下来,怎么办?
这种情况,可以使用set_error_handler('errorHandler',E_ALL | E_STRICT)来自定义系统的错误处理函数,之后就可以在errorHandler这个自定义函数中自由发挥了。/**
* 错误处理
* @param int $err_no 错误代码
* @param string $err_msg 错误信息
* @param string $err_file 错误文件
* @param int $err_line 错误行号
* @return string
*/
function errorHandler($err_no = 0, $err_msg = '', $err_file = '', $err_line = 0)
{
writeLog($err_no.' '.$err_msg.' '.$err_file.''.$err_line."\r\n",'error.log');
}
注意:使用set_error_handler这个函数之后error_reporting设置的将全部失效,那么有什么办法可以解决这个问题呢。当然是有的,只需要在set_error_handler这个函数的第二个参数中去重新设置一遍就能搞定了。
php 配置 error_reporting,关于php中的错误配置display_errors与error_reporting说明相关推荐
- oracle监听host配置,监听器listener.ora中HOST参数配置
4.Host使用IP地址 下面使用IP地址配置Host的情况,修改listener.ora文件. [Oracle@SimpleLinux admin]$ cat listener.ora # list ...
- linux fish颜色配置,如何在 Linux 中安装、配置和使用 Fish Shell?
(给Linux爱好者加星标,提升Linux技能) 英文:Magesh Maruthamuthu,翻译:Linux中国/MK linux.cn/article-10622-1.html 每个 Linux ...
- 在linux配置jdk教程,Linux中JDK安装配置教程
JDK在官网下载,也可以从某个文件服务器进行下载. 1.在usr目录创建一个java文件夹: mkdir java 2.进入刚创建的java文件夹,下载jdk: cd /usr/java 例如: wg ...
- ubuntu12.04 java配置_Ubuntu 12.04 中安装和配置 Java JDK
先去 Oracle下载Linux下的JDK压缩包,我下载的是jdk-7u4-linux-i586.tar.gz文件,下好后直接解压 sudo mv ./jdk1.7.0_55 /usr/lib/jdk ...
- ssis 包_SSIS包中的错误处理概述
ssis 包 This article explains the process of configuring Error handling in SSIS package. 本文介绍了在SSIS程序 ...
- springboot项目中的注解 启动项目的方式 解决spring的bean.xml配置不生效 spring的基础JDBC配置
依赖 创建一个 Spring Boot 工程时,可以继承自一个 spring-boot-starter-parent ,也可以不继承 先来看 parent 的基本功能有哪些? 定义了 Java 编译版 ...
- 配置构建变体build.gradle的配置
google原文链接 https://developer.android.com/studio/build/build-variants.html#product-flavors 配置构建类型 您可以 ...
- ***PHP中error_reporting()用法详解(含codeigniter框架中屏蔽错误提示的解决方案)
php中我们对错误的处理会常用到error_reporting函数了,大家可以看到最多的是error_reporting(E_ALL ^ E_NOTICE)了,这个到底什么意思呢,下面我来来看看. e ...
- IIS7错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault=Deny).........
如图所示 IIS 7访问的时候出现以下异常: 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny&q ...
最新文章
- 基于SSM的汽车销售管理系统
- Node入门--6--文件系统-创建删除
- jquery选择器玩得不6啊,只能慢慢写判断了,唉..........................
- LeetCode 1736. 替换隐藏数字得到的最晚时间
- 台式电脑麦克风_还有人买台式PC吗?这份新品推荐攻略值得收藏
- php符号 set,PHP 符号大全
- mysql中3个月之前日期_在MySQL中从当前日期选择当前日期到3个月之间的日期?
- jquery ajax 调用webservice以及跨域问题
- 如何快速成为C++工程师?
- 2. MarkText可代替Typora的markdown 编辑器
- eja智能压力变送器工作原理_EJA智能压力变送器
- vscode下报错:No such file or directory fatal error:no input files的一种比较坑爹的可能
- 专访阿里云游戏首席架构师李刚:如何解决云服务技术两大痛点?
- imageJ把两张图片在时间轴上进行合并
- Android中的常用控件之进度条(ProgressBar)
- 基于`IRIS`,动态解析`HL7`消息
- 二进制分析工具自动发现DLL劫持漏洞
- 收藏:信息安全相关的认证有哪些?有没有必要考?
- 全自动安装的XP补丁包
- matlab绘制极限环,常微分方程组的MATLAB求解方法
热门文章
- excel服务器条形码不显示,excel怎么制作条形码教程 excel条形码显示不出怎么办...
- android 反编译 jadx,jadx gui下载 jadx(Android反编译gui工具) v0.6.1 官方版 下载-脚本之家...
- jadx 1.4.5反编译包不全
- Java 安全 后端返回文件流
- 解决ES Data too large问题
- Mac系统安装软件的三种方式
- mysql数据库存储引擎
- 69、Android获取每日运动步数
- CloudDB——构建云化网络统一融合数据层
- 如何评价近几年顶会的超分,去噪,去模糊等图像复原文章?