php.d/*.ini не переопределяет php.ini в PHP 5.5

php.d/*.ini не переопределяет php.ini в PHP 5.5

У меня /etc/php.iniследующая конфигурация:

upload_max_filesize = 2M
post_max_size = 32M

И /etc/php.d/app.iniсодержит:

upload_max_filesize = 64M
post_max_size = 64M

В PHP 5.4 PHP отдавал приоритет значениям app.ini над значениями из php.ini; однако с тех пор, как я перешел на PHP 5.5, они больше не имеют приоритета:

# php -r "echo ini_get('upload_max_filesize');"
2M

Файл app.iniвыглядит успешно проанализированным PHP:

# php --ini
...
/etc/php-5.5.d/app.ini,
...

( /etc/php.dэто символическая ссылка на /etc/php-5.5.d)

Как сделать так, чтобы ini-файлы php.d имели приоритет над php.ini?

Если это имеет значение, я использую контейнер AWS Elastic Beanstalk для PHP 5.5.

решение1

Нашли причину, которая действительно естьспецифично для контейнера Elastic Beanstalk для PHP 5.5.

По какой-то непонятной причине команда AWS решила переехать php.iniиз своего первоначального местоположения /etc/php.iniв /etc/php.d/php.ini.

Поскольку файлы php.dобрабатываются в алфавитном порядке, мой app.iniбыл теперь обработандо php.ini, и таким образом был отменен.

я открылветка на форумах AWS, чтобы спросить AWS, рассмотрят ли они возможность возвращения php.iniв исходное местоположение.

В то же время, решение простое:переименуйте файл так, чтобы он отображался после php.ini, в моем случае переименование в zapp.iniпомогло.

Связанный контент