在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时应在哪里设置此值?
答案 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