错误配置的PHP效果对error_log函数的影响

时间:2016-11-18 20:51:59

标签: php laravel phpunit

我在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.提前感谢。

1 个答案:

答案 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指令