Docker php-fpm-alpine:如何禁止警告
我有dolrer 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命令时,您将需要明确定义它的path。
您可以尝试使用以下入口点:
ENTRYPOINT ["php-fpm", "-c", "/usr/local/etc/php/php_no_errors.ini"]
这可能是值得的,以及检查你的php安装从哪里加载它的configuration文件。
创build一个简单的PHP文件的内容:
<?php phpinfo();
查看该文件时查找设置: Loaded Configuration File(加载的configuration文件)这将告诉您正在加载PHPconfiguration文件的path。
您可以将文件复制到此path,也可以使用-c命令将path设置为.ini文件,如上所示。
希望这可以帮助!
你可以简单地编辑你的php.ini文件,如下所示:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
或者进入一个php文件:
error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE);