【问题标题】:access.log in MAMP works, error.log does notMAMP 中的 access.log 有效,error.log 无效
【发布时间】:2020-12-04 11:25:49
【问题描述】:

我像这样创建了一个新的虚拟主机:

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/Applications/MAMP/htdocs/test.loc/"
    ServerName test.loc
    ServerAlias test.loc
    ErrorLog "/Applications/MAMP/htdocs/test.loc/logs/error.log"
    CustomLog "/Applications/MAMP/htdocs/test.loc/logs/access.log" common
</VirtualHost>

然后我创建了/logs/文件夹,并主动提出了一个php错误。 我的access.log 出现并正确报告:

127.0.0.1 - - [04/Dec/2020:12:04:11 +0100] "GET / HTTP/1.1" 500 -

error.log 出现但为空。

这是我在php.ini中的内容:

error_reporting = E_ALL
display_errors = Off
display_startup_errors = Off
log_errors = On

作为替代方法,我尝试将日志路径指定为相对路径(期望它们相对于项目文件夹出现),MAMP 在启动时不会引发错误,但文件不会出现在任何地方。

附加组件:如果我将display_error 更改为php.ini 或直接在我的示例文件中,我会收到有关错误的有意义的反馈。例如

 Fatal error: Uncaught Error: Call to undefined function test() in /Applications/MAMP/htdocs/test.loc/error.php on line 3

我想要同样的东西,但已登录。

【问题讨论】:

  • 你的 apache logLevel 是什么? (httpd.conf)
  • LogLevel error
  • 将它设置为debug实际上是用error.log写的东西,但是任何与php错误相关的东西(我称之为不存在的函数)

标签: php logging mamp


【解决方案1】:

我通过将这些添加到虚拟主机配置来修复:

php_flag log_errors on
php_flag display_errors on
php_value error_log /Applications/MAMP/htdocs/test.loc/logs/error.log

我想是否有比在每个虚拟主机上设置它更清洁的方法呢? (标准的ErrorLog "/Applications/MAMP/htdocs/test.loc/logs/error.log"指令还不够吗?)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 2016-10-10
    • 2016-11-16
    • 2019-05-20
    • 2023-03-04
    • 1970-01-01
    • 2016-01-24
    相关资源
    最近更新 更多