J'ai besoin de recharger mon php.ini et il n'y a rien dans la boîte de dialogue d'aide pour le redémarrer.
Remarque : ajoutez Sudo
si ce n'est pas root
Utilisation directe des scripts SysV Init:
/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
Utilisation du script d'encapsuleur de service
service php-fpm restart # typical
service php5-fpm restart # debian-style
service php7.0-fpm restart # debian-style PHP 7
Utilisation d'Upstart (par exemple ubuntu):
restart php7.0-fpm # typical (ubuntu is debian-based) PHP 7
restart php5-fpm # typical (ubuntu is debian-based)
restart php-fpm # uncommon
Utilisation de systemd (serveurs plus récents):
systemctl restart php-fpm.service # typical
systemctl restart php5-fpm.service # uncommon
systemctl restart php7.0-fpm.service # uncommon PHP 7
Ou quel que soit l'équivalent sur votre système.
Pour Mac OS X, voici ce que je fais:
Faire un 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
Alors:
chmod ug+x /usr/local/etc/php/fpm-restart
cd /usr/local/sbin
ln -s /usr/local/etc/php/fpm-restart
assurez-vous que/usr/local/sbin est dans votre $ PATH
il suffit ensuite de l'appeler depuis le terminal fpm-restart et BOOM !!
Habituellement, service php5-fpm restart
fera l'affaire, sur une distribution à jour.
Mais parfois, cela échoue, vous disant restart: Unknown instance:
(ou tel).
Maintenant, si vous n'aimez pas redémarrer votre serveur, il suffit de tuer les processus et de prendre un nouveau départ (édité à partir d'ici):
$ Sudo pkill php5-fpm; Sudo service php5-fpm start
Cela devrait fonctionner:
pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
Pour Mac OSX brew services restart php56
a fonctionné pour moi.
J'ai eu un problème lors du redémarrage de php7-fpm, car je ne savais pas exactement comment le service était nommé. Cette fonction m'a donné la réponse:
service --status-all
le service php7-fpm dans mon Ubuntu s'appelait php7.0-fpm
, donc j'ai fait:
service php7.0-fpm restart
php-fpm redémarrera si vous envoyez un signal USR2 au processus principal:
Sudo kill -USR2 php-fpm_main_process_id
Nous avons donc juste besoin d'instruire php-fpm pour enregistrer son pid quelque part. Dans cet exemple, je suppose que vous souhaitez l'enregistrer dans /etc/private/php-fpm.pid
, et que php-fpm fonctionne en tant qu'utilisateur _php. Tout d'abord, ajoutez cette ligne au fichier de configuration:
pid = /etc/php-fpm.pid
Créez ensuite le fichier /etc/php-fpm.pid
, et assurez-vous que php-fpm est autorisé à le modifier:
$ cd /etc
$ Sudo touch php-fpm.pid
$ Sudo chown _php php-fpm.pid
$ Sudo chmod 644 php-fpm.pid
Maintenant, au prochain démarrage de php-fpm, vous pourrez obtenir son pid et le redémarrer comme ceci:
$ cat /etc/php-fpm.pid
815
$ Sudo kill -USR2 815
Ou vous pouvez les combiner en une seule commande:
$ Sudo kill -USR2 `cat /etc/private/php-fpm.pid`
Pour moi, je venais de mettre à niveau via apt et le redémarrage du service ne fonctionnait pas. J'ai fini par avoir besoin de tuer les processus existants avant de fonctionner en utilisant: killall php5-fpm
Pour permettre au script de redémarrage PHP-FPM de fonctionner, vous devez utiliser spécifier un fichier PID dans votre fichier php-fpm.conf. c'est à dire.
pid = /var/run/php-fpm/php-fpm.pid
La valeur par défaut de pid dans php-fpm.conf n'est rien, ce qui signifie de ne pas créer de fichier PID, ce qui signifie que le script de redémarrage ne peut pas dire quel processus se terminer pendant le redémarrage.
Sur Ubuntu 16 avec php 5.6 fpm.
/etc/init.d/php5.6-fpm restart
Sur 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
Sur RedHat/CentOS 7 en utilisant 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
ou si vous utilisez 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
Le moyen le plus simple de trouver le nom du service php-fpm est de le rechercher:
systemctl -l --type service --all | grep fpm
Pour répertorier les services systemd sur CentOS/RHEL 7.x +, utilisez
systemctl
Pour répertorier tous les services:
fichiers d'unité de liste systemctl
Où trouver le service nommé * php-fpm * copier le nom du service et exécuter la commande suivante
systemctl restart ea-php72-php-fpm.service
REMARQUE:ea-php72-php-fpm.service utilisez votre nom de service
Sur Alpine avec nginx, cela fonctionne ici:
Pour tuer tous les processus php-fpm7:
kill $(ps -o pid,comm | grep php-fpm7 | awk '{print $1}')
Pour démarrer php-fpm7:
php-fpm7
Pour les anciennes versions de Debian et Ubuntu - PHP 5.6, ce sera
/etc/init.d/php-fpm56 restart
service php-fpm56 restart
Sous Windows:
Services ouverts dans la console de gestion:
Start -> Run -> "services.msc" -> OK
Sélectionnez php-fpm
de la liste