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);
    }

(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

随机推荐