ini_set设置php显示详细错误
ini_set('display_errors', '1'); //设置display_errors为On
ini_set('display_errors', '0'); //设置display_errors为Off
在很多时候我们调试php站点,需要开启php错误设置。大部分情况下都是直接修改php.ini中display_errors为On。但是直接修改可能会需要重启apache/IIS服务,更多的时候会直接影响到同服务器的其他站点。在日常调试中可以直接设置单个站点的错误设置。
如上图所示,我们先设置ini_set('display_errors', '1');输出phpinfo,然后再设置ini_set('display_errors', '0');输出phpinfo.看有什么区别。从下图可以看到display_errors的Local Value已经为On,并且给出了语法错误提示。
ini_set('display_errors', '0');时候打印phpinfo如下图:可以看到display_errors项为off,并且同样的语句不再报出提示。
下面以dedecms为例:默认情况下display_errors和dedecms程序自身都是屏蔽错误的。修改include目录下common.inc.php文件中error_reporting(E_ALL);
访问页面没有报任何错误或者提示。
现在我们设置ini_set('display_errors', '1');从下图可以看到,页面输出了很多php语法提示(notice)。说明当前设置下php为显示具体错误信息。
在以后的站点调试中,首选在代码中增加ini_set('display_errors', '1');来设置该站点的display_errors项为On.尽量不要去修改服务器上的php配置文件,以免忘记修改回来或重启web服务影响到其他站点的正常运行。