php错误级别的设置方法
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错误提示的关闭方法详解
最简单的办法就是直接在php程序代码中加入下面代码: 复制代码 代码如下: error_reporting(E_ALL^E_NOTICE^E_WARNING); 可以关闭所有notice 和 warning 级别的错误. 把这个语句放在您脚本的功用包含文件中,通常为config.php 或者conn.php 中就可以控制输出了. 当然我也也可以在php.ini中进行设置了方法如下 打开PHP安装目录下的php.ini文件 找到display_errors = On 修改为 display_err
-
修改PHP脚本使WordPress拦截垃圾评论的方法示例
拦截英文垃圾评论 由于绝大多数的垃圾评论都是英文的,所以国内不少朋友在使用 Some Chinese Please 插件,它可以有效地拦截内容中不带有中文字的comment和trackback(pingback),不写入数据库中,可有效地减小spam对blog服务器的无谓使用.虽然已经 2 年多没有更新,但还是可用的. 其实还可以简化下,直接将下面的代码添加到主题的 functions.php 文件,效果与使用 Some Chinese Please 插件相同: /* refused spam
-
PHP的拦截器实例分析
本文实例讲述了PHP的拦截器用法.分享给大家供大家参考.具体如下: PHP提供了几个拦截器,用于在访问未定义的方法和属性时被调用,如下所示: 1.__get($property) 功能:访问未定义的属性是被调用 2.__set($property, $value) 功能:给未定义的属性设置值时被调用 3.__isset($property) 功能:对未定义的属性调用isset()时被调用 4.__unset($property) 功能:对未定义的属性调用unset()时被调用 5.__call(
-
php类中的各种拦截器用法分析
本文实例讲述了php类中的各种拦截器用法.分享给大家供大家参考.具体用法分析如下: 1.__get( $property ) 访问未定义的属性时调用 复制代码 代码如下: class lanjie { function __get($name) { echo $name." property not found! "; } } $ob = new lanjie(); echo $ob->g; 当我们调用对象$ob未定义的属性g
-
php错误级别的设置方法
PHP在运行时, 针对严重程度不同的错误,会给以不同的提示. eg:在$a没声明时,直接相加,值为NULL,相加时当成0来算.但是,却提示NOTICE,即注意. 我们在开发中, 为了程序的规范性,把报错级别,调的比较高NOTICE级别的也报出来,有助于我们快速定位错误和代码规范,但是,在产品上线后,网站运营过程中,就不宜报这么多错. 1:这种错误给客户的印象不好 2:在报错时,把网站的绝对路径,如D:\www\1015都报出来了.增大被攻击的风险 因此,在网站上线后,就应该让报错级降低,少报错甚
-
PHP配置文件php.ini中打开错误报告的设置方法
打开PHP的错误报告的方法,供大家参考. php.ini 文件中有许多配置设置.您应当已经设置好自己的 php.ini 文件并把它放在合适的目录中,就像在 Linux 上安装 PHP 和 Apache 2 的文档说明中所示的那样. 在调试 PHP 应用程序时,应当知道两个配置变量.下面是这两个变量及其默认值: 复制代码 代码如下: display_errors = Off error_reporting = E_ALL 通过在 php.ini 文件中搜索它们,可以发现这两个变量当前的默认值.di
-
win2008 r2中IIS7.5及以上设置404错误页面的正确方法
1.进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站.进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站. 2.在IIS右侧选择错误页这项,双击打开. 3.出现错误页设置页面,今天我们这边只说明一下404如何设置,诸如500.503等这里先不考虑.双击404错误页面那项,或选中404那项点击右侧的编辑按钮 4.出现404错误页面设置选项,笔者选择的是第一个方法,输入404静态页面文件的完整路径,点击下方
-
asp.net网站的404错误页面的正确设置方法第1/2页
什么是404错误 HTTP 404 错误意味着链接指向的网页不存在,即原始网页的URL失效,这种情况经常会发生,很难避免,比如说:网页URL生成规则改变.网页文件更名或移动位置.导入链接拼写错误等,导致原来的URL地址无法访问;当Web 服务器接到类似请求时,会返回一个404 状态码,告诉浏览器要请求的资源并不存在.但是,Web服务器默认的404错误页面,无论Apache还是IIS,均十分简陋.呆板且对用户不友好,无法给用户提供必要的信息以获取更多线索,无疑这会造成用户的流失. 404页面的作用
-
PHP常见的6个错误提示及解决方法
在php开发过程中,由于不知道向谁求助而心慌意乱地判断以为自己不适合学php.其实错误在每个人学习过程中都会碰到的,千万不要妄自菲薄.很多错误在报错的代码提示中已经告诉我们了,仔细看,不会就百度.现总结一些常见的php错误,以共享php新人. Php常见错误提示 一.Fatal error: Call to undefined function-- 函数不存在,可能的原因: 1.系统不存在这个函数且你也没自定义 2.有人会问,我在别的机器上就不报错.那是因为环境不同,这个函数在本机没开,怎么开?
-
Python的log日志功能及设置方法
引入:Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍 一.日志级别(从低到高): DEBUG :详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行 WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如.磁盘空间低").这个软件还能按预期工作. ERROR:更严重的问题,软件没能执行一些功能 CRITICAL :一个严重的错误,这表明程序本身可能无法继续运行 注:这5个等级,也分别对应5种打日志的方法:
-
iis 7.5 下站点日志开启以及默认位置设置方法
在iis6时,通过iis管理器的日志配置可以找到站点日志存储的位置. 但是在iis7下,iis管理器下的日志配置只能找到iis日志配置的主目录,但到底在哪个子目录,则无法直接获知. 先定位到网站 后来在主日志目录下,发现子目录名字比较有规律:W3SVC + 数字,联想到iis的站点配置文件中,每个站点会被分配一个ID,后边的数字应该是对应站点的ID.根据猜想,打开目录中的日志文件查看,得到印证. 站点配置文件通常位于: C:\Windows\System32\inetsrv\config\app
-
System.Data.OleDb.OleDbException: 未指定的错误的完美解决方法
异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误 这个错误是access数据库特有的错误,当access频繁读取或操作过多的时候就会发生这个错误,微软官方已找不到具体的解决方法,网上搜索了很多,可以使用下面几种方法解决一下. 可能解决方法1: 重启服务器IIS,释放access连接,这种方法一般最有效,当然前提是自己有服务器控制权限,如果用虚拟主机的话主机商不太可能为一个网站重启iis,最好的方法就是转换为sql数据库. 可能解决方法2: 修改wi
-
ThinkPHP表单令牌错误的相关解决方法分析
本文分析了ThinkPHP表单令牌错误的相关解决方法.分享给大家供大家参考,具体如下: 今天在用ThinkPHP做程序的时候,以前用create创建数据的时候,出现了错误提示"表单令牌错误",然后各种百度各种谷歌,得到的网上解答给出了以下的建议 1.清缓存: 用了,我把所有的Cache下的文件都删掉了,并将~app.php和~runtime.php两个文件同时都删掉了,但是没有效果. 2.将TOKEN_ON参数设置为FALSE: 试过了,但是也不行,虽然不提示表单令牌错误了,但是添加到
-
PHP-Fcgi下PHP的执行时间设置方法
一般情况下设置PHP脚本执行超时的时间 一.在php.ini里面设置 max_execution_time = 1800; 二.通过PHP的ini_set 函数设置 ini_set("max_execution_time", "1800"); 三.通过set_time_limit 函数设置 set_time_limit(1800); PHP-Fcgi下PHP的执行时间设置方法 昨天,一个程序需要导出500条数据,结果发现到150条是,Nginx报出504 Gatew
随机推荐
- 理解Python垃圾回收机制
- Node.js中JavaScript操作MySQL的常用方法整理
- Objective-C中使用NSString类操作字符串的方法小结
- 浅谈java中为什么实体类需要实现序列化
- 基于.Net中的协变与逆变的深入分析
- ubuntu kylin虚拟机中安装KVM
- Swift中内置的集合类型学习笔记
- python执行外部程序的常用方法小结
- 详解使用Python处理文件目录的相关方法
- Android开发之多媒体文件获取工具类实例【音频,视频,图片等】
- Mysql 服务 1067 错误 的解决方法:修改mysql可执行文件路径
- jQuery延迟执行的实现方法
- Java 锁的知识总结及实例代码
- RAID等级、RAID功能 什么是RAID等级啊?
- 植树节是几月几日,植树节的的由来和意义整理
- jquery判断对象是否为空并遍历对象的简单实例
- jQuery控制输入框只能输入数值的小例子
- 关于Node.js的events.EventEmitter用法介绍
- Bootstrap的Refresh Icon也spin起来
- 注册表的备份