找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 407|回复: 0
打印 上一主题 下一主题

php错误级别的设置方法

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 08:20:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            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);
  在开发中,报错级别高一点,在上线产品中,报错级别要低:+
[U]复制代码[/U] 代码如下:
  define('DEBUG',true); // 在开发时,声明一个DEBUG模式
    if(defined('DEBUG')) { //检测到处于开发模式
    error_reporting(E_ALL);
    } else {
    error_reporting(0);
    }
            
            
您可能感兴趣的文章:
  • PHP错误提示的关闭方法详解
  • php类中的各种拦截器用法分析
  • PHP的拦截器实例分析
  • 修改PHP脚本使WordPress拦截垃圾评论的方法示例
  • PHP各种异常和错误的拦截方法及发生致命错误时进行报警
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端