php.d/*.ini não substituindo php.ini no PHP 5.5

php.d/*.ini não substituindo php.ini no PHP 5.5

O meu /etc/php.initem a seguinte configuração:

upload_max_filesize = 2M
post_max_size = 32M

E /etc/php.d/app.inicontém:

upload_max_filesize = 64M
post_max_size = 64M

Com o PHP 5.4, o PHP estava dando precedência aos valores app.ini sobre os do php.ini; no entanto, desde que mudei para o PHP 5.5, eles não têm mais precedência:

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

O app.iniarquivo parece analisado com sucesso pelo PHP:

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

( /etc/php.dé um link simbólico para /etc/php-5.5.d)

Como posso forçar os arquivos php.d ini a terem precedência sobre o php.ini?

Se isso faz alguma diferença, estou usando o contêiner AWS Elastic Beanstalk para PHP 5.5.

Responder1

Encontrei o motivo, que é de fatoespecífico para o contêiner do Elastic Beanstalk para PHP 5.5.

Por alguma razão obscura, a equipe da AWS optou por mudar php.inide seu local original /etc/php.inipara /etc/php.d/php.ini.

Como os arquivos php.dsão processados ​​em ordem alfabética, meu app.iniarquivo agora foi processadoantes php.inie, portanto, foi substituído.

Eu abrium tópico nos fóruns da AWS, para perguntar à AWS se eles considerariam voltar php.iniao local original.

Enquanto isso, a solução é simplesmenterenomeie o arquivo para que apareça depois do php.ini, no meu caso, renomear para zapp.inifuncionou.

informação relacionada