php之错误报告设置
php在运行时,针对严重程度不同的错误,给予不同的错误提示。
开发时,为了程序的规范性,把错误级别调到比较高,notice级别的也报出来,有助于快速定位错误和代码规范。在产品上线后,网站运营过程中,就不宜报这么多错,1:这种错误给客户的印象不好;2:在报错时,把网站的绝对路径都报出来,增大被攻击的风险,因此,在网站上线后,就应该让报错级别降低,少报甚至不报。
设置错误报告级别
1:在php.ini里修改error_reporting选项;2:可以在php页面里,error_reporting()函数来修改。
错误级别是用2进制的值来表示的,1111 1111 1111 111,从左到有,每一位上的1,代表一种错误级别。
E_ERROR致命错误:0000 0000 0000 001开启
E_WARNING警告错误:0000 0000 0000 010开启
E_PARSE语法错误:0000 0000 0000 100开启
E_NOTICE警告:0000 0000 0001 000开启
E_ALL所有错误:1111 1111 1111 111开启
1 <?php 2 define('DEBUG',true); //在开发时,声明一个DEBUG模式 3 if (defined('DEBUG')) { 4 error_reporting(E_ALL);//处于开发模式就报全部错误 5 }else { 6 error_reporting(0);//上线后,不报错 7 } 8 echo $a+$b;//报notice 9 echo 3/0;//报warning 10 echo asdf();//报fatal error 11 ?>