É necessário reiniciar o Apache para o PHP reler o php.ini?

9

O PHP lê o php.ini em cada solicitação ou tenho que reiniciar o Apache para que o php esteja ciente das alterações no php.ini?

Petruza
fonte

Respostas:

11

Você precisará reiniciar - os arquivos de configuração, incluindo php.ini, são lidos quando o processo principal é iniciado e as páginas da Web reais são atendidas por processos filho do apache clonados (bifurcados) fora do mestre.

Devin Ceartas
fonte
2
Uma reinicialização "normal" deve ser suficiente se você deseja evitar qualquer risco de erros do cliente.
Daveadams
@ Daveadams: ótimo, o que é um reinício gracioso ? Acabei de reiniciá-lo com uma linha de comando do XAMPP, que eu acho que mata o processo e o lança novamente. É apenas um servidor de desenvolvimento local, filho, não se preocupe com clientes irritados, mas gostaria de saber de qualquer maneira.
Petruza 04/02/12
@Devin: Então, o apache realmente chama php uma vez e continua sendo executado e gera apenas childs para cada solicitação?
Petruza 04/02/12
Para ser mais preciso - ele carrega os arquivos de configuração (como httpd.conf e php.ini) uma vez na inicialização. Os scripts PHP são iniciados novamente sempre que um script PHP é executado - não há memória de solicitação cruzada em uma execução de script PHP da mesma forma que existe em algo como mod_perl.
Devin Ceartas
2
@Petruza: gracioso apenas significa que não matará nenhum processo que esteja no meio de servir uma página a um usuário. Para os desenvolvedores, seu método é bom, mas geralmente qualquer script do Apache que você esteja usando para especificar "start" "stop" ou "restart", basta dizer "gracioso" e cada processo aguardará a conclusão de qualquer trabalho em andamento. antes de morrer e reaparecer com as novas configurações.
Davideadams