background image

 

E_ALL 能从不良编码实践到无害提示到出错的所有信息。E_ALL 对于开发过程来说有点
太细,因为它在屏幕上为一些小事(例如变量未初始化)也显示提示,会搞糟浏览器的

 

输出
所以不建议使用 2047,最好把默认值改为:

error_reporting

 = E_ALL & ~E_NOTICE 

 
PHP.ini 中 display_errors = Off

 

失效的解决

 

 

问题:
PHP 设置文件 php.ini 中明明已经设置 display_errors = Off,但是在运行过程中,网页上还

 

是会出现错误信息。

 

解决:
经查 log_errors= On,据官方的说法,当这个 log_errors 设置为 On,那么必须指定

error_log

文件,如果没指定或者指定的文件没有权限写入,那么照样会输出到正常的输

出渠道,那么也就使得 display_errors 这个指定的 Off 失效,错误信息还是打印了出来。于
是将 log_errors = Off

 

,问题就解决了。

 
经常见到

error_reporting

(7

 

)直意为:设定错误讯息回报的等级。

 
value constant 
1 E_ERROR 
2 E_WARNING 
4 E_PARSE 
8 E_NOTICE 
16 E_CORE_ERROR 
32 E_CORE_WARNING 
64 E_COMPILE_ERROR 
128 E_COMPILE_WARNING 
256 E_USER_ERROR 
512 E_USER_WARNING 
1024 E_USER_NOTICE 
2047 E_ALL 
2048 E_STRICT 
然而 7=1+2+4 
就是出错时显示 1 E_ERROR 2 E_WARNING 4 E_PARSE 
代码如下:
 
<?php 

//

 

禁用错误报告

error_reporting

(0); 

//

 

报告运行时错误

error_reporting

(E_ERROR | E_WARNING | E_PARSE); 

//

 

报告所有错误

error_reporting

(E_ALL);