Réponses:
Note : préfixe sudo
sinon 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 de service
service php-fpm restart # typical
service php5-fpm restart # debian-style
service php7.0-fpm restart # debian-style PHP 7
Utiliser 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.
brew services restart php56
(si vous obtenez une erreur indiquant qu'aucune formule n'est disponible, essayez une version différente, par exemple php5 ou php55). Si vous n'avez pas installé de services d'infusion, vous devez l'installer lors de la première utilisation.
service php-fcgi-mydomain-com restart
Et je devais le répéter pour chaque domaine à partir de sites activés
systemctl reload php70-php-fpm
systemctl restart php5.6-fpm.service
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
Ensuite:
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
puis appelez-le simplement depuis le terminal fpm-restart et BOOM !!
homebrew.mxcl.php*.plist
si ça ne marche pas
Habituellement, tout service php5-fpm restart
va bien, sur une distribution à jour.
Mais parfois, il échoue, vous le dit restart: Unknown instance:
(ou tel).
Maintenant, si vous n'aimez pas redémarrer votre serveur, supprimez simplement les processus et redémarrez (édité à partir d'ici):
$ sudo pkill php5-fpm; sudo service php5-fpm start
stop: Unknown instance:
)
Cela devrait fonctionner:
pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
killall php-fpm
php-fpm --prefix /usr/local
, en créant des répertoires sous celui-ci, et comme l'a dit @ Keeth pkill -USR2 -o php-fpm
, en vérifiant pgrep -l fpm
, et les PID changent vraiment! Je n'avais pas de fichiers de plist ou de services à exploiter mentionnés dans certaines des réponses.
Pour Mac OSX a brew services restart php56
fonctionné pour moi.
J'ai eu un problème pour redémarrer php7-fpm, parce que 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 de mon Ubuntu a été appelé php7.0-fpm
, alors j'ai:
service php7.0-fpm restart
service --status-all
php-fpm va redémarrer si vous envoyez un signal USR2 au processus principal:
sudo kill -USR2 php-fpm_main_process_id
Il suffit donc d’instruire php-fpm pour enregistrer son pid quelque part. Dans cet exemple, je suppose que vous voulez l'enregistrer sous /etc/private/php-fpm.pid
et que php-fpm s'exécute en tant qu'utilisateur _php. Tout d’abord, ajoutez cette ligne au fichier de configuration:
pid = /etc/php-fpm.pid
Ensuite, créez 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`
pkill ...
ci-dessus plus; plus court et plus simple.
Pour permettre au script de redémarrage PHP-FPM de fonctionner, vous devez utiliser 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 que vous ne créez pas de fichier PID, ce qui signifie que le script de redémarrage ne peut pas indiquer le processus à terminer lors du redémarrage.
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
systemctl list-units *fpm*
Sous Windows:
Ouvrez les services dans la console de gestion:
Start -> Run -> "services.msc" -> OK
Sélectionner php-fpm
dans la liste
Pour les anciennes versions de debian & ubuntu - php 5.6 ce sera
/etc/init.d/php-fpm56 restart
service php-fpm56 restart
Pour répertorier les services systemd sous CentOS / RHEL 7.x +, utilisez
systemctl
Pour lister tous les services:
systemctl list-unit-files
Où vous pouvez trouver le service nommé * php-fpm * nom du service de copie et exécuter la commande suivante
systemctl redémarrer ea-php72-php-fpm.service
NOTE: ea-php72-php-fpm.service nommez votre service
Une autre méthode pour MaxOS
Ouvrez ActivityMonitor, recherchez php-fpm, trouvez le pid.
Terminal ouvert, utilisez kill [pid]
pour arrêter php-fpm
Puis php-fpm
sur terminal pour le démarrer.
S'il existe des informations d'erreur indiquant que 127.0.0.1:9000 est déjà utilisé, ignorez-le.
Rafraîchir Nginx page, devrait voir php.ini changements prennent effet.
php-fpm
probablement de lancer le programme sous le mauvais utilisateur. ignorer les messages d'erreur n'est jamais une bonne idée.
which php-fpm
donne/usr/local/sbin/php-fpm
.