É 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?

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.