如何在docker容器中启用php-fpm的访问日志



注意:我不是在谈论nginx自己的访问日志。那个很好用。这个问题是关于启用php fpmaccess.log的。


当前,我正在尝试调试在stderr中发送的FastCGI:"Primary script unknown",同时从上游错误读取响应标头

一个建议的选项是在php-fpm.d/www.conf中设置access.log条目。

access.log = /var/log/$pool.access.log

现在,我有了一个docker堆栈,我的php-fpm容器是从php:7.3-fpm-alpine映像构建的。

虽然我已经发现它将php配置文件存储在:

/usr/local/etc/php

我还在上找到了CCD_ 3

/usr/local/etc/php-fpm.d/www.conf

因此,在本地文件中,我添加了图像提供的默认内容,并在最后添加:

php_flag[display_errors] = on
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
access.log = /var/log/$pool.access.log

我在构建过程中将该文件复制到docker容器中。

COPY ./.docker/php/www.conf /usr/local/etc/php-fpm.d/www.conf

然而,当我尝试访问我的服务器时,我看不到任何日志文件是根据传入的请求创建的。

激活php-fpm访问日志缺少什么?我怎么能弄清楚为什么我没有看到任何日志?

这样做的方法是将错误和访问日志发送到以下地址:

/proc/self/fd/2

因此,将";文件";类似的位置:

access.log = /proc/self/fd/2
error_log = /proc/self/fd/2

然后,您应该能够使用docker logs [container-id]检查fpm日志

最新更新