Docker 中的 Apache/PHP error_log 位置?

IMB*_*IMB 6 php apache logging error-logging docker

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

Warning: require(/var/www/foo.php): failed to open stream:

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

我试过了,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 错误。

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

root@c9e29891dc0d:/var/log/apache2# ls -hltra
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
Run Code Online (Sandbox Code Playgroud)

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

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

Mos*_*ein 14

要确保你有以下的里面是什么php.ini,以便能够使用错误看到docker logs -f containerName在一般情况下,发送日志/dev/stdout,并/dev/stderr让你能够通过接收它docker logs

log_errors = On
error_log = /dev/stderr
Run Code Online (Sandbox Code Playgroud)

  • 这让我得到像这样的东西 `[07/Oct/2021:21:55:51 +0000] "POST /sales-channel-api/v3/backinstock/subscribe HTTP/1.1" 500 831` ...非常无用,除非我可以看到到底是什么导致了 500 (15认同)