在php:fpm docker映像中设置max_post_size的位置

时间:2018-08-22 01:42:57

标签: php docker fpm

在docker容器中执行的php应用程序

docker run -d -v "./app:/app" php:fpm 

抱怨post_max_size(8MB)的默认值太小,我应该将其增加到32MB。

问题是,该docker映像中没有php.ini:

# ls -R /usr/local/etc/
/usr/local/etc/:
pear.conf  php  php-fpm.conf  php-fpm.conf.default  php-fpm.d

/usr/local/etc/php:
conf.d

/usr/local/etc/php/conf.d:
docker-php-ext-mysqli.ini  docker-php-ext-pcntl.ini  docker-php-ext-sodium.ini

/usr/local/etc/php-fpm.d:
docker.conf  www.conf  www.conf.default  zz-docker.conf

当我将post_max_size = 32M附加到/usr/local/etc/php-fpm.d下的任何文件时,容器将在启动期间停止并显示错误消息

[22-Aug-2018 01:38:09] ERROR: [/usr/local/etc/php-fpm.d/www.conf:424] unknown entry 'post_max_size'
[22-Aug-2018 01:38:09] ERROR: Unable to include /usr/local/etc/php-fpm.d/www.conf from /usr/local/etc/php-fpm.conf at line 424
[22-Aug-2018 01:38:09] ERROR: failed to load configuration file '/usr/local/etc/php-fpm.conf'
[22-Aug-2018 01:38:09] ERROR: FPM initialization failed

当我创建包含内容的新文件/usr/local/etc/php/php.ini

post_max_size = 32M

然后它没有效果。使用此docker镜像php:fpm时应在哪里设置此值?

2 个答案:

答案 0 :(得分:1)

对我有用的第一个解决方案是将容器的环境变量PHPRC设置为放置包含所需设置的php.ini文件的目录的路径。

答案 1 :(得分:0)

让我向您介绍.user.ini files

  

从PHP 5.3.0开始,PHP支持对每个目录配置INI文件。这些文件仅由CGI / FastCGI SAPI处理

您应该可以使用

将文件拖放到./app/.user.ini中的项目中
post_max_size = 32M