注意:我不是在谈论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日志