PHP没有写入错误日志

时间:2017-08-22 16:55:10

标签: php error-handling

文件结构设置如此,

mainDirectory
-app
--logs
---errors.log
-file.php

我有file.php内部,

ini_set("log_errors", 1);
ini_set("error_log", "logs/errors.log");

然后我尝试输出这样的结果,

error_log( print_r($response, TRUE) );

然而它只是转储到控制台。然后,我尝试了各种检查,如

if( file_exists( "logs/errors.log" ) ) {
    echo 'yup';
}
else {
    echo 'nope';
}

每次都是“不”

我错过了一些明显的东西吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我的猜测是你遇到了权限问题。我在OSX Sierra上运行Apache,我的日志文件存储在/ var / log中。如果我尝试下面这行,我会收到permission denied错误。

file_put_contents('/var/log/apache2/errors2.log', 'Hello world');

您可以考虑选择您确定Apache有权写入{error} /tmp的bug_log的位置。

ini_set("error_log", "/tmp/errors.log");

在使用ini_set之前,尝试使用file_put_contents来测试目录的权限,这可能有点简洁。