php错误级别的设置方法

yipeiwu_com6年前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浮点比较大小的方法

本文实例讲述了PHP浮点比较大小的方法。分享给大家供大家参考,具体如下: <?php /** * 浮点数一般是不能用来比较大小的,但是我们可以用一种变通的的方式 *...

php 代码优化的42条建议 推荐

1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。 2.echo 比 print 快。 3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。 4.在执行fo...

PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节

一、 XML简介   XML(可扩展的标注语言)是一种W3C标准,主要用于Web应用程序和服务器之间实现容易的交互、数据的存储与使用。   使用XML标准编码的数据具有能容易被人和计算机...

php实现遍历目录并删除指定文件中指定内容

php实现遍历目录并删除指定文件中指定内容

现在正坐在安静的寝室里,寒假俨然已经离我而去了……今天发的是我寒假里搞的最后一次学习,之后的时间就一直在看海贼王了。 以前写过一个C语言的遍历目录+复制文件的程序,很长很复杂,现在用PH...