php错误级别的设置方法


Posted in PHP onJune 17, 2013

PHP在运行时, 针对严重程度不同的错误,会给以不同的提示。

eg:在$a没声明时,直接相加,值为NULL,相加时当成0来算.但是,却提示NOTICE,即注意.

我们在开发中, 为了程序的规范性,把报错级别,调的比较高NOTICE级别的也报出来,有助于我们快速定位错误和代码规范,但是,在产品上线后,网站运营过程中,就不宜报这么多错.

1:这种错误给客户的印象不好
2:在报错时,把网站的绝对路径,如D:\www\1015都报出来了.增大被攻击的风险
因此,在网站上线后,就应该让报错级降低,少报错甚至不报.

修改报错级别:

1: php.ini里修改error_reporting 选项

2: 可以在php页面里,用error_reporting()函数来修改

错误级别用2进制的值来表示的: 1111 1111 1111 111从左到右,每位上的1,代表一种错误级别

fatal error致命错误: 0000 0000 0000 001 开启 1

warning 警告错误 : 0000 0000 0000 010 开启 2

NOTICE 警告 : 0000 0000 0001 000 开启 8

eg:

都报出来: error_reporting(11);

不要报NOTICE: error_reporting(3);

任何错误都不报: error_reporting(0);

系统为我们把各个级别的值,用系统常量代替了.

E_ERROR 1

E_WARNING 2

E_NOTICE 8

报所有错误: error_reporting(E_ALL);

除了NOTICE,其他都报: error_reporting(E_ALL & ~E_NOTICE);

在开发中,报错级别高一点,在上线产品中,报错级别要低:+

define('DEBUG',true); // 在开发时,声明一个DEBUG模式 


if(defined('DEBUG')) { //检测到处于开发模式 


error_reporting(E_ALL); 


} else { 


error_reporting(0); 


}
PHP 相关文章推荐
深入解析php模板技术原理【一】
Jan 10 PHP
不要轻信 PHP_SELF的安全问题
Sep 05 PHP
php 上传文件类型判断函数(避免上传漏洞 )
Jun 08 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
php中将网址转换为超链接的函数
Sep 02 PHP
一些php项目中比较通用的php自建函数的详解
Jun 06 PHP
PHP中的函数-- foreach()的用法详解
Jun 24 PHP
PHP中数据库单例模式的实现代码分享
Aug 21 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
Jan 27 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 PHP
PHP中多字节字符串操作实例详解
Aug 23 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 #PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 #PHP
php fsockopen伪造post与get方法的详解
Jun 14 #PHP
探讨:parse url解析URL,返回其组成部分
Jun 14 #PHP
PHP可变函数的使用详解
Jun 14 #PHP
VIM中设置php自动缩进为4个空格的方法详解
Jun 14 #PHP
探讨:如何通过stats命令分析Memcached的内部状态
Jun 14 #PHP
You might like
php checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
PHP定时自动生成静态HTML的实现代码
2010/06/20 PHP
PHP 截取字符串专题集合
2010/08/19 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
2020/04/08 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
2015/05/06 Python
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
简述进程的启动、终止的方式以及如何进行进程的查看
2013/07/12 面试题
2015小学教师年度考核工作总结
2015/05/12 职场文书
医疗纠纷调解协议书
2015/08/06 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书
Django与数据库交互的实现
2021/06/03 Python