zoukankan      html  css  js  c++  java
  • php错误级别的设置方法

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

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

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

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

    修改报错级别:

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

  • 相关阅读:
    mysql命令集锦
    linux 删除文件名带括号的文件
    linux下的cron定时任务
    struts2文件下载的实现
    贴一贴自己写的文件监控代码python
    Service Unavailable on IIS6 Win2003 x64
    'style.cssText' is null or not an object
    "the current fsmo could not be contacted" when change rid role
    远程激活程序
    新浪图片病毒
  • 原文地址:https://www.cnblogs.com/zqifa/p/php-21.html
Copyright © 2011-2022 走看看