• 技术文章 >后端开发 >PHP问题

    如何设置php错误模式

    VV2019-09-04 17:58:00原创718

    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中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 设置 错误模式
    上一篇:命令行方式启动php服务 下一篇:php支持多进程吗
    线上培训班

    相关文章推荐

    • 宝塔的php错误日志在哪• 关于PHP中异常错误的处理详细介绍• PHP中的错误有哪些?又该如何处理?• 怎么检测php的错误

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网