[英]How to enable access log for php-fpm in docker container?
注意:我不是在談論 nginx 自己的訪問日志。 那個很好用。 這個問題是關於啟用 php-fpm access.log
的。
目前,我正在嘗試調試在 stderr 中發送的 FastCGI:“Primary script unknown”,同時從上游錯誤讀取響應 header
一種建議的選項是在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
我還在以下位置找到了www.conf
:
/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-logs
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.