O php-fpm será reiniciado se você enviar um sinal USR2 para o processo principal:
sudo kill -USR2 php-fpm_main_process_id
Então, só precisamos instruir o php-fpm a gravar seu pid em algum lugar. Neste exemplo, assumirei que você deseja salvá-lo em /etc/private/php-fpm.pid, e que php-fpm é executado como usuário _php. Primeiro, adicione esta linha ao arquivo de configuração:
pid = /etc/php-fpm.pid
Em seguida, crie o arquivo /etc/php-fpm.pide certifique-se de que php-fpm tenha permissão para modificá-lo:
Para mim, acabei de atualizar via apt e a reinicialização do serviço não estava funcionando. Acabei precisando matar os processos existentes antes de funcionar usando: killall php5-fpm
Para permitir que o script de reinicialização do PHP-FPM funcione, você deve especificar um arquivo PID em seu arquivo php-fpm.conf. ou seja
pid = /var/run/php-fpm/php-fpm.pid
O valor padrão para pid em php-fpm.conf é nada, o que significa não criar um arquivo PID, o que significa que o script de reinicialização não pode dizer qual processo terminar durante a reinicialização.
sudo systemctl enable php-fpm // Just incase is disabled. Also ensures it starts automatically with the server
sudo systemctl start php-fpm // Start the service
sudo systemctl stop php-fpm // Stop the service
sudo systemctl status php-fpm // View status
Nota : preceder
sudo
se não for rootUsando scripts SysV Init diretamente:
Usando script de wrapper de serviço
Usando o Upstart (por exemplo, ubuntu):
Usando systemd (servidores mais recentes):
Ou qualquer que seja o equivalente em seu sistema.
Para Mac OS X, isto é o que eu faço:
Faça um roteiro
/usr/local/etc/php/fpm-restart
:Então:
certifique-se de que /usr/local/sbin esteja em seu $PATH
então basta chamá-lo do terminal fpm-restart e BOOM!!
Normalmente,
service php5-fpm restart
funcionará bem, em uma distribuição atualizada.Mas às vezes, ele falha, dizendo a você
restart: Unknown instance:
(ou algo assim).Agora, se você não gosta de reiniciar seu servidor, apenas mate os processos e comece de novo (editado a partir daqui):
Isso deve funcionar:
Para Mac OSX
brew services restart php56
funcionou para mim.Eu tive um problema ao reiniciar o php7-fpm, porque eu não sabia exatamente como o serviço era nomeado. Essa função me deu a resposta:
service --status-all
O serviço php7-fpm no meu Ubuntu foi chamado
php7.0-fpm
, então eu fiz:service php7.0-fpm restart
O php-fpm será reiniciado se você enviar um sinal USR2 para o processo principal:
Então, só precisamos instruir o php-fpm a gravar seu pid em algum lugar. Neste exemplo, assumirei que você deseja salvá-lo em
/etc/private/php-fpm.pid
, e que php-fpm é executado como usuário _php. Primeiro, adicione esta linha ao arquivo de configuração:Em seguida, crie o arquivo
/etc/php-fpm.pid
e certifique-se de que php-fpm tenha permissão para modificá-lo:Agora, na próxima vez que o php-fpm for iniciado, você poderá obter seu pid e reiniciá-lo assim:
Ou você pode combiná-los em um único comando:
Para mim, acabei de atualizar via apt e a reinicialização do serviço não estava funcionando. Acabei precisando matar os processos existentes antes de funcionar usando: killall php5-fpm
Para permitir que o script de reinicialização do PHP-FPM funcione, você deve especificar um arquivo PID em seu arquivo php-fpm.conf. ou seja
O valor padrão para pid em php-fpm.conf é nada, o que significa não criar um arquivo PID, o que significa que o script de reinicialização não pode dizer qual processo terminar durante a reinicialização.
No CentOS 7