где установить max_post_size в образе php: fpm

Приложение php, выполняющееся внутри контейнера Docker

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

жалуется, что значение по умолчанию post_max_size (8 МБ) слишком мало, и я должен увеличить его до 32 МБ.

Проблема в том, что в этом образе докера нет 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 image php: fpm?

1

Решение

Первое решение, которое сработало для меня, — установить переменную среды контейнера. PHPRC по пути к каталогу, где я разместил php.ini файл, содержащий необходимые настройки.

1

Другие решения

Позвольте представить вам .user.ini файлы

Начиная с PHP 5.3.0, PHP включает поддержку INI-файлов конфигурации для каждого каталога. Эти файлы обрабатываются только CGI / FastCGI SAPI

Вы должны иметь возможность удалить файл в вашем проекте на ./app/.user.ini с

post_max_size = 32M
0

По вопросам рекламы ammmcru@yandex.ru