我在Laravel项目中有一组PHP单元测试,并且在终端中运行测试时尝试不显示错误。我在每个异常上使用error_log()函数手动记录错误。我试图设置php.ini错误参数不显示错误,但似乎无法正常工作。
ini_set('log_errors', 0);
ini_set('error_reporting', 0);
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
error_log("This is an exception");
即使经过上述设置,我也会在控制台中收到字符串This is an exception
。我在这里做错了吗? PHP版本是7.提前感谢。
答案 0 :(得分:1)
error_log
ini指令控制error_log()
函数输出的位置。如果未设置该指令,CLI将输出到stderr
。此外,如果由于某种原因无法设置指令,则可以将额外参数传递给error_log()
函数以控制输出目标。
因此,例如,如果您希望将错误写到/var/log/php.log
,则有两种选择:
ini指令:
ini_set('error_log', '/var/log/php.log');
error_log('destination set by error_log directive');
error_log参数:
error_log(
'destination set by parameters'.PHP_EOL, // this method doesn't auto append EOL; must add it manually
3, // destination type; 3 = file
'/var/log/php.log' // destination file
);
您可以在文档中阅读更多内容:
error_log()
功能
error_log
ini指令