簡體   English   中英

如何在 docker 容器中啟用 php-fpm 的訪問日志?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM