Docker php-fpm-alpine:如何替代警告



我有Dollowing Dockerfile:

FROM php:7.0-fpm-alpine
MAINTAINER John Doe <jdoe@example.com>
EXPOSE 9000
VOLUME /var/www/html
VOLUME /var/log/fpm
COPY ./php_config.ini /usr/local/etc/php/php_no_errors.ini
COPY ./src /var/www/html
# Other extra libraries are installed
RUN chown -R www-data:www-data /var/www/html 
ENTRYPOINT ["php-fpm"]

和文件php_config.ini包含:

php[error_reporting] = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING)
php_flag[display_errors] = off
php_flag[display_startup_errors] = foo
cgi.fix_pathinfo = 0
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
catch_workers_output = yes

但是,在我的应用程序中,我仍然收到PHP警告,并且通过浏览器提供的页面回荡了错误。我该如何沉默它们?

作为您希望使用的php.ini文件不在(我认为)stnard位置,或者具有标准名称,您需要在运行 php-fpm 命令。

您可以尝试使用以下输入点:

ENTRYPOINT ["php-fpm", "-c", "/usr/local/etc/php/php_no_errors.ini"]

可能值得检查您的php安装在哪里加载其配置文件。

用内容创建一个简单的PHP文件:

<?php 
phpinfo(); 

查看该文件时查找设置:加载配置文件这将告诉您PHP配置文件正在加载的路径。

您可以使用-c命令将文件复制到此路径或硬设置.ini文件的路径。

希望这会有所帮助!

您可以简单地编辑php.ini文件如下:

 error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE

或进入PHP文件:

error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE);

最新更新