簡體   English   中英

Docker php-fpm-alpine:如何抑制警告

[英]Docker php-fpm-alpine: How to supress warnings

我正在使用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文件不在(我認為)標准位置或沒有標准名稱,因此在運行php-fpm命令時需要明確定義其路徑。

您可以嘗試使用以下ENTRYPOINT:

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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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