Question Comment redémarrez-vous php-fpm?


J'ai besoin de recharger mon fichier php.ini et il n'y a rien dans la boîte de dialogue d'aide pour le redémarrer.


160
2017-10-12 01:58


origine




Réponses:


Remarque: ajouter sudo sinon racine


294
2017-10-12 03:37



aucun de ceux travaillés - Galen
Pour les Googlers (comme moi) qui arrivent ici: cette réponse était correcte, mais sur mon système, elle s'appelait 'php5-fpm', donc service php5-fpm restart a fait le tour. - Matt Winckler
Qu'en est-il sur un Mac? php-fpm a été installé avec homebrew. which php-fpm donne /usr/local/sbin/php-fpm. - hobbes3
@ hobbes3 essayer brew services restart php56 (Si vous obtenez une erreur concernant aucune formule 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. - Doktor J
J'avais besoin de celui-ci: sudo service php7.0-fpm restart - Ryan


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 !!


29
2017-09-23 04:55



Utilisation homebrew.mxcl.php*.plist si ça ne marche pas - Daniil Ryzhkov
github.com/Homebrew/homebrew-php#installing-multiple-versions    Si vous ne trouvez pas ce fichier .plist. - Frank Fang


Habituellement, service php5-fpm restart fera très bien, sur une distribution à jour.

Mais parfois, il échoue, vous dire restart: Unknown instance: (ou tel).

Maintenant, si vous n'aimez pas redémarrer votre serveur, tuez simplement les processus et redémarrez (édité à partir d'ici):

$ sudo pkill php5-fpm; sudo service php5-fpm start

21
2017-08-08 11:55



Merci, cela corrige exactement mon problème. (stop: Unknown instance:) - Nilloc


Cela devrait fonctionner:

pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm

11
2018-02-01 20:08



Si vous avez installé PHP-FPM via homebrew sur un Mac, la première commande fonctionne beaucoup mieux que décharger + charger le plist - alanthing
OSX: killall php-fpm - ptim
Sous OSX, ce qui précède m’a donné l’erreur "Utilisateur inconnu SR2". Inverser les arguments a corrigé le problème: "pkill -USR2 -o php-fpm" - Keeth
Exactement ce dont j'avais besoin pour redémarrer FPM dans un conteneur, merci! - Adrian Günter
J'utilise la version pré-installée ou fournie avec xcode de php et son -fpm associé pour une raison quelconque, et non par Homebrew. Juste pensé que je devrais utiliser ce qui est déjà là. J'utilise une combinaison de php-fpm --prefix /usr/local, en faisant quelques répertoires sous celui-ci, et comme l'a dit @ Keeth, pkill -USR2 -o php-fpmvérifier avec 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. - Pysis


Pour Mac OSX brew services restart php56 a travaillé pour moi.


11
2017-12-30 21:25



Yup, travaille pour moi aussi. Mac OS X - Mike Nguyen


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 dans mon Ubuntu s'appelait php7.0-fpmalors j'ai fait:

service php7.0-fpm restart


8
2018-03-26 08:57



+1 pour service --status-all - J.D.


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 de demander à php-fpm d’enregistrer son pid quelque part. Dans cet exemple, je supposerai que vous souhaitez 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

Puis créez le fichier /etc/php-fpm.pidet 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`

5
2018-03-12 07:01



J'aime @ dialt0ne's et @ Keeth's pkill ... répondez et commentez ci-dessus plus; plus court et plus simple. - Pysis
c'est mieux, et belle explication. Si vous ne faites pas correspondre correctement les processus, pkill risque de tuer vos autres clusters PHP si vous les avez exécutés sur la même boîte (oui, c'est une mauvaise pratique). - Rich K.


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 qu'il ne fonctionne avec: killall php5-fpm


3
2017-09-25 19:24





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.


2
2018-05-11 15:03