Respuestas:
Nota : anteponer sudo
si no root
Usando scripts de SysV Init directamente:
/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
Usar script de contenedor de servicio
service php-fpm restart # typical
service php5-fpm restart # debian-style
service php7.0-fpm restart # debian-style PHP 7
Usando Upstart (por ejemplo, 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 más nuevos):
systemctl restart php-fpm.service # typical
systemctl restart php5-fpm.service # uncommon
systemctl restart php7.0-fpm.service # uncommon PHP 7
O cualquiera que sea el equivalente en su sistema.
brew services restart php56
(si obtiene un error acerca de que no hay una fórmula disponible, intente con una versión diferente, por ejemplo, php5 o php55). Si no tiene instalados los servicios de preparación, debería instalarlo en la primera ejecución.
service php-fcgi-mydomain-com restart
y tuve que repetirlo para cada dominio desde sitios habilitados
systemctl reload php70-php-fpm
systemctl restart php5.6-fpm.service
Para Mac OS X, esto es lo que hago:
Haz un guión /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
Entonces:
chmod ug+x /usr/local/etc/php/fpm-restart
cd /usr/local/sbin
ln -s /usr/local/etc/php/fpm-restart
asegúrese de que / usr / local / sbin esté en su $ PATH
entonces solo llámalo desde la terminal fpm-restart y BOOM !!
homebrew.mxcl.php*.plist
si no funciona
Por lo general, funcionará service php5-fpm restart
bien, en una distribución actualizada.
Pero a veces, falla, diciéndote restart: Unknown instance:
(o algo así).
Ahora, si no desea reiniciar su servidor, simplemente elimine los procesos y tenga un nuevo comienzo (editado a partir de aquí):
$ sudo pkill php5-fpm; sudo service php5-fpm start
stop: Unknown instance:
)
Esto debería funcionar:
pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
killall php-fpm
php-fpm --prefix /usr/local
, haciendo algunos directorios bajo el que necesita, y como ha dicho @Keeth pkill -USR2 -o php-fpm
, ¡verificar con pgrep -l fpm
, y los PID realmente cambian! No tenía archivos o servicios plist para aprovechar los mencionados por algunas de las otras respuestas.
Para Mac OSX brew services restart php56
funcionó para mí.
php-fpm se reiniciará si envía una señal USR2 al proceso principal:
sudo kill -USR2 php-fpm_main_process_id
Entonces solo necesitamos instruir a php-fpm para grabar su pid en alguna parte. En este ejemplo, /etc/private/php-fpm.pid
supondré que desea guardarlo en , y que php-fpm se ejecuta como usuario _php. Primero, agregue esta línea al archivo de configuración:
pid = /etc/php-fpm.pid
Luego cree el archivo /etc/php-fpm.pid
y asegúrese de que php-fpm tenga permiso para modificarlo:
$ cd /etc
$ sudo touch php-fpm.pid
$ sudo chown _php php-fpm.pid
$ sudo chmod 644 php-fpm.pid
Ahora, la próxima vez que se inicie php-fpm, podrá obtener su pid y reiniciarlo así:
$ cat /etc/php-fpm.pid
815
$ sudo kill -USR2 815
O puede combinarlos en un solo comando:
$ sudo kill -USR2 `cat /etc/private/php-fpm.pid`
pkill ...
respuestas y comentarios de @ dialt0ne y @ Keeth más arriba; más corto y más simple
Para permitir que funcione el script de reinicio de PHP-FPM, debe usar especificar un archivo PID en su archivo php-fpm.conf. es decir
pid = /var/run/php-fpm/php-fpm.pid
El valor predeterminado para pid en php-fpm.conf es nada, lo que significa que no se debe crear un archivo PID, lo que significa que el script de reinicio no puede indicar qué proceso finalizará durante el reinicio.
En 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
En RedHat / CentOS 7 usando PHP 7 de 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
o si estás 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
La forma más sencilla de encontrar el nombre del servicio php-fpm es buscarlo:
systemctl -l --type service --all | grep fpm
systemctl list-units *fpm*
En Windows:
Servicios abiertos en la consola de administración:
Start -> Run -> "services.msc" -> OK
Seleccionar php-fpm
de la lista
Para versiones anteriores de debian y ubuntu - php 5.6 será
/etc/init.d/php-fpm56 restart
service php-fpm56 restart
Para enumerar los servicios systemd en CentOS / RHEL 7.x + use
systemctl
Para enumerar todos los servicios:
systemctl list-unit-files
Donde puede encontrar el servicio llamado * php-fpm * copie el nombre del servicio y ejecute el siguiente comando
reinicio de systemctl ea-php72-php-fpm.service
NOTA: ea-php72-php-fpm.service usuario su nombre de servicio
Otro método para MaxOS
Abra ActivityMonitor, busque php-fpm, busque el pid.
Abra la terminal, use kill [pid]
para detener php-fpm
Luego php-fpm
en la terminal para iniciarlo.
Si hay información de error que 127.0.0.1:9000 ya está en uso, simplemente ignórela.
Actualice la página de Nginx, debería ver que los cambios en php.ini tienen efecto
php-fpm
probablemente lo ejecutará bajo el usuario incorrecto; ignorar los mensajes de error nunca es una buena idea.
which php-fpm
da/usr/local/sbin/php-fpm
.