【问题标题】:PHP cannot set fastcgi.logging to 0PHP 无法将 fastcgi.logging 设置为 0
【发布时间】:2020-08-03 06:33:23
【问题描述】:

我有一个非常简单的 docker 安装,包括 NGINX 和 PHP,通过端口 9000 上的 FastCGI。

我已经通过 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"]

【问题讨论】:

    标签: php docker nginx fastcgi


    【解决方案1】:

    好的,对于任何来这里寻找相同信息的人,我已经找到了解决方案。

    我需要做的是创建一个名为“zz-nolog.conf”的新文件,其中包含:

    [www]
    access.log = /dev/null
    

    然后在我的 PHP Dockerfile 中,添加以下行:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      相关资源
      最近更新 更多