Estou vendo um problema estranho em que meu php.ini
não é usado se eu não o transmitir explicitamente para php-fpm
ao iniciá-lo.
Este é o script iniciante que estou usando:
start on (filesystem and net-device-up IFACE=lo)
stop on runlevel [016]
pre-start script
mkdir -p /run/php
end script
expect fork
respawn
exec /usr/local/php/sbin/php-fpm --fpm-config /etc/php/php-fpm.conf
Se o PHP é iniciado com o acima, meu php.ini
nunca é usado, mesmo que seja em Configuration File (php.ini) Path
.
Esta é a parte relevante de phpinfo()
:
Configuration File (php.ini) Path /etc/php/
Loaded Configuration File (none)
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
Se eu modificar a última linha do script upstart para apontar php-fpm
para php.ini
explicitamente:
exec /usr/local/php/sbin/php-fpm --fpm-config /etc/php/php-fpm.conf -c /etc/php/php.ini
Em seguida, vemos que o php.ini
está carregado:
Configuration File (php.ini) Path /etc/php/
Loaded Configuration File /etc/php/php.ini
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
Por que isso acontece? Isso é um capricho no php-fpm?
Atualização menor: Isso também parece ser um problema para o php5-fpm instalado usando apt-get
.
Eu fiz um teste de instalação em uma máquina virtual Ubuntu Server 12.04 executando o seguinte:
sudo apt-get install nginx php5-fpm
O PHP-FPM e o nginx foram iniciados após a instalação e tudo pareceu bem. Eu então descomentei as configurações do php na configuração do nginx e coloquei um arquivo de teste phpinfo()
para inspecionar as configurações do PHP.
Os bits relevantes são:
Configuration File (php.ini) Path /etc/php5/fpm
Loaded Configuration File (none)
Scan this dir for additional .ini files /etc/php5/fpm/conf.d
Additional .ini files parsed /etc/php5/fpm/conf.d/10-pdo.ini
Eu notei que nenhum php.ini
foi carregado. No entanto, se eu for para /etc/php5/fpm
, posso ver que existe um php.ini
. Também verifiquei os scripts de inicialização para o PHP-FPM e o parâmetro -c
não foi usado para vincular o arquivo ini ao PHP. Isso pode ser confuso para pessoas que esperariam que o php.ini fosse carregado automaticamente pelo PHP-FPM.