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.