PHP 7.X的报错规则比PHP 5.X严格很多。测试结果是为了试验error_reporting(0);能否彻底关闭报错日志,以防止用户的错误日志的增加,测试结果是肯定的。测试平台为Ubuntu 16+Apache+PHP 7.2。共写入这4个php测试文件:
1.php
$a1=55;
echo $a1.'
';
$a1[1]=50;
echo $a1[1].'
'; //到这里PHP 7.X会报错
2.php (同1.php,多了第1行)
error_reporting(0);
$a1=55;
echo $a1.'
';
$a1[1]=50;
echo $a1[1].'
';
3.php
echo $a1; // PHP 7.X会报错
4.php (同3.php,多了第1行)
error_reporting(0);
echo $a1;
试验结果:1.php和3.php,在/var/log/apache2/error.log,每刷新一次页面,都会写入错误日志。
在前台的php页面,没有显示错误,因为Ubuntu 16+Apache+PHP 7.2的PHP页面默认不显示错误。
刷新了很多次,2.php和4.php始终都没有写入错误日志。说明error_reporting(0);语句,对于防止写入错误日志是起作用的。
但error_reporting(0);对于开发者有些不便,开发中必须将这句删除,以随时查看报错。每次修改程序之前,需要将此句删除,发布时再添加上。
2条评论:
自由勇 2019-06-22 15:46
嗯,因为是为用户提供的php程序,只能尽量在php程序里实现。