Respostas:
Nota : acrescente sudo
se não for root
Usando scripts SysV Init diretamente:
/etc/init.d/php-fpm restart # typical
/etc/init.d/php5-fpm restart # debian-style
/etc/init.d/php7.0-fpm restart # debian-style PHP 7
Usando script de wrapper de serviço
service php-fpm restart # typical
service php5-fpm restart # debian-style
service php7.0-fpm restart # debian-style PHP 7
Usando o Upstart (por exemplo, ubuntu):
restart php7.0-fpm # typical (ubuntu is debian-based) PHP 7
restart php5-fpm # typical (ubuntu is debian-based)
restart php-fpm # uncommon
Usando systemd (servidores mais recentes):
systemctl restart php-fpm.service # typical
systemctl restart php5-fpm.service # uncommon
systemctl restart php7.0-fpm.service # uncommon PHP 7
Ou qualquer que seja o equivalente em seu sistema.
brew services restart php56
(se você receber um erro sobre nenhuma fórmula disponível, tente uma versão diferente, por exemplo, php5 ou php55). Se você não possui serviços de distribuição instalados, ele deve ser instalado na primeira execução.
service php-fcgi-mydomain-com restart
E eu tive que repeti-la para cada domínio de sites-enabled
systemctl reload php70-php-fpm
systemctl restart php5.6-fpm.service
Para o Mac OS X, é isso que eu faço:
Faça um script /usr/local/etc/php/fpm-restart
:
#!/bin/sh
echo "Stopping php-fpm..."
launchctl unload -w ~/Library/LaunchAgents/homebrew-php*.plist
echo "Starting php-fpm..."
launchctl load -w ~/Library/LaunchAgents/homebrew-php*.plist
echo "php-fpm restarted"
exit 0
Então:
chmod ug+x /usr/local/etc/php/fpm-restart
cd /usr/local/sbin
ln -s /usr/local/etc/php/fpm-restart
verifique se / usr / local / sbin está no seu $ PATH
basta chamá-lo a partir do terminal fpm-restart e BOOM !!
homebrew.mxcl.php*.plist
se não der certo #
Geralmente, tudo service php5-fpm restart
fica bem, em uma distribuição atualizada.
Mas, às vezes, falha, dizendo a você restart: Unknown instance:
(ou algo assim).
Agora, se você não gosta de reiniciar o servidor, basta matar os processos e ter um novo começo (editado a partir daqui):
$ sudo pkill php5-fpm; sudo service php5-fpm start
stop: Unknown instance:
)
Isso deve funcionar:
pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
killall php-fpm
php-fpm --prefix /usr/local
, criando alguns diretórios abaixo daquele que ele precisa e, como o @Keeth afirmou pkill -USR2 -o php-fpm
, verificando pgrep -l fpm
e os PIDs realmente mudam! Eu não tinha arquivos ou serviços básicos para tirar proveito mencionados por algumas das outras respostas.
Para Mac OSX brew services restart php56
funcionou para mim.
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 para gravar seu pid em algum lugar. Neste exemplo, assumirei que você deseja salvá-lo em /etc/private/php-fpm.pid
, e que o 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.pid
e verifique se o php-fpm tem permissão para modificá-lo:
$ cd /etc
$ sudo touch php-fpm.pid
$ sudo chown _php php-fpm.pid
$ sudo chmod 644 php-fpm.pid
Agora, da próxima vez que o php-fpm for iniciado, você poderá obter seu pid e reiniciá-lo assim:
$ cat /etc/php-fpm.pid
815
$ sudo kill -USR2 815
Ou você pode combiná-los em um único comando:
$ sudo kill -USR2 `cat /etc/private/php-fpm.pid`
pkill ...
e acima; mais curto e mais simples.
Para permitir que o script de reinicialização do PHP-FPM funcione, você deve especificar um arquivo PID no arquivo php-fpm.conf. ie
pid = /var/run/php-fpm/php-fpm.pid
O valor padrão para pid no php-fpm.conf não é 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
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
No RedHat / CentOS 7 usando PHP 7 em softwarecollections.org
service rh-php70-php-fpm start
service rh-php70-php-fpm stop
service rh-php70-php-fpm reload
service rh-php70-php-fpm restart
service rh-php70-php-fpm status
ou se você estiver usando systemctl:
systemctl start rh-php70-php-fpm
systemctl stop rh-php70-php-fpm
systemctl reload rh-php70-php-fpm
systemctl restart rh-php70-php-fpm
systemctl status rh-php70-php-fpm
A maneira mais simples de encontrar o nome do serviço php-fpm é procurá-lo:
systemctl -l --type service --all | grep fpm
systemctl list-units *fpm*
No Windows:
Abra Serviços no Console de Gerenciamento:
Start -> Run -> "services.msc" -> OK
Selecione php-fpm
na lista
Para versões antigas do debian e ubuntu - php 5.6, será
/etc/init.d/php-fpm56 restart
service php-fpm56 restart
Para listar os serviços systemd no CentOS / RHEL 7.x +, use
systemctl
Para listar todos os serviços:
systemctl list-unit-files
Onde você pode encontrar o serviço chamado * php-fpm * copy service name e execute o seguinte comando
systemctl restart ea-php72-php-fpm.service
NOTA: usuário ea-php72-php-fpm.service seu nome de serviço
Outro método para o MaxOS
Abra o ActivityMonitor, pesquise php-fpm, encontre o pid.
Terminal aberto, use kill [pid]
para parar o php-fpm
Em seguida, php-fpm
no terminal para iniciá-lo.
Se houver informações de erro que 127.0.0.1:9000 já estejam em uso, ignore-as.
Na página Atualizar Nginx, as alterações do php.ini devem ter efeito.
php-fpm
provavelmente o executará com o usuário errado; ignorar mensagens de erro nunca é uma boa ideia.
which php-fpm
dá/usr/local/sbin/php-fpm
.