在调试PHP 应用程序时,应当知道两个配置变量。下面是这两个变量及其默认值:
display_errors = Off
error_reporting = E_ALLphp
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); ?>