Apache / PHP error_log 位置 Docker

Apache / PHP error_log location in 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 错误。

通过 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.ini 中有以下内容,以便能够像通常那样使用 docker logs -f containerName 查看错误,将日志发送到 /dev/stdout/dev/stderr 让你可以通过 docker logs:

接收
log_errors = On
error_log = /dev/stderr

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

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

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

docker logs -f [containerName]