【问题标题】:Apache / PHP error_log location in DockerDocker 中的 Apache / PHP error_log 位置
【发布时间】:2019-08-07 23:42:37
【问题描述】:

我的 PHP 脚本有错误。例如,这会在屏幕上显示:

警告:要求(/var/www/foo.php):打开流失败:

我在哪里可以在日志中找到这个?

我试过docker logs containerName,但它只显示访问日志。例如,

192.168.2.1 - - [17/Mar/2019:10:00:00 +0000] "GET / HTTP/1.1" 200 505 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64)...

它没有显示上面的 PHP 错误。

通过docker exec 进入容器内的 Apache 日志文件夹会显示以下内容:

ls -hltra /var/log/apache2

total 0
lrwxrwxrwx. 1 www-data www-data 11 Feb  6 04:42 other_vhosts_access.log -> /dev/stdout
lrwxrwxrwx. 1 www-data www-data 11 Feb  6 04:42 error.log -> /dev/stderr
lrwxrwxrwx. 1 www-data www-data 11 Feb  6 04:42 access.log -> /dev/stdout

我什至不确定这是否是 PHP 日志所在的位置,但我无法查看它们。

我在哪里可以找到 Docker 中的 Apache/PHP 错误日志?

【问题讨论】:

标签: php apache docker logging error-logging


【解决方案1】:

确保您在php.ini 中具有以下内容,以便能够像一般使用docker logs -f containerName 一样查看错误,将日志发送到/dev/stdout/dev/stderr 使您能够通过@987654325 接收它@:

log_errors = On
error_log = /dev/stderr

【讨论】:

  • 这让我得到了这样的东西[07/Oct/2021:21:55:51 +0000] "POST /sales-channel-api/v3/backinstock/subscribe HTTP/1.1" 500 831 ... 除非我能看到真正导致 500 的原因,否则它毫无用处
【解决方案2】:

要仅查看 PHP 日志,请尝试:

docker logs -f [containerName] >/dev/null

要查看所有日志,请尝试:

docker logs -f [containerName]

【讨论】:

  • 省略动词有什么意义?
猜你喜欢
  • 2021-11-08
  • 1970-01-01
  • 2016-01-24
  • 2017-08-31
  • 2010-12-13
  • 2011-06-23
  • 2011-03-28
  • 2011-09-18
  • 2014-12-29
相关资源
最近更新 更多