PHP не может установить для fastcgi.logging значение 0 - PullRequest
0 голосов
/ 01 августа 2020

У меня очень простая установка docker, состоящая из NGINX и PHP через FastCGI на порт 9000.

Я настроил Dockerfile, чтобы контейнер PHP копировал «php .ini-production "в" php .ini ", а затем я копирую свой" my_ php .ini "в" conf.d ".

В настоящее время единственные настройки, которые у меня есть в" my_ php .ini "- это" fastcgi.logging = 0 "и" display_errors = on "(последний - просто для подтверждения того, что файл загружается).

Теперь, если в моем скрипте есть ошибка, тогда ошибка отображается, как и ожидалось, потому что «display_errors = on».

Однако я обнаружил, что «fastcgi.logging = 0» не останавливает PHP регистрацию всех сделанных запросов, что совершенно бесполезно и нежелательны и просто засоряют журналы docker.

Обратите внимание, что если сценарий PHP запускает phpinfo (), он показывает, что установлено «fastcgi.logging = 0».

Но, похоже, он не отключает ведение журнала SAPI, чего я хочу. Конечно, журналы docker содержат по одной строке для каждого запроса, которая выглядит примерно так:

172.18.0.3 - 01 / Aug / 2020: 12: 56: 25 +0000 "GET /index.php "200

Есть ли у кого-нибудь предложения относительно того, как отключить ведение журнала SAPI?

Спасибо ...

Для полноты, вот мой PHP Dockerfile:

FROM php:7.4-fpm

RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
COPY application/php.ini "$PHP_INI_DIR/conf.d/my_php.ini"

COPY src /var/www/html

EXPOSE 9000
CMD ["php-fpm"]

1 Ответ

0 голосов
/ 03 августа 2020

Хорошо, для всех, кто приходит сюда в поисках той же информации, я нашел решение.

Мне нужно было создать новый файл с именем «zz-nolog.conf», содержащий:

[www]
access.log = /dev/null

, а затем в моем PHP Dockerfile добавьте следующую строку:

COPY application/zz-nolog.conf "$PHP_INI_DIR/../php-fpm.d/zz-nolog.conf"
...