183 votes

Comment redémarrez-vous php-fpm ?

Je dois recharger mon php.ini et il n'y a rien dans la boîte de dialogue d'aide sur comment le redémarrer.

11voto

Gediminas Points 217

J'ai eu un problème pour redémarrer 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 sur mon Ubuntu s'appelait php7.0-fpm, alors j'ai fait :

service php7.0-fpm restart

5 votes

+1 pour service --status-all

6voto

Pitarou Points 161

Php-fpm redémarrera si vous envoyez un signal USR2 au processus principal :

sudo kill -USR2 php-fpm_main_process_id

Nous devons simplement indiquer à php-fpm d'enregistrer son pid quelque part. Dans cet exemple, je partirai du principe que vous souhaitez le sauvegarder dans /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 a l'autorisation de le modifier :

$ cd /etc
$ sudo touch php-fpm.pid
$ sudo chown _php php-fpm.pid
$ sudo chmod 644 php-fpm.pid

Maintenant, la prochaine fois que php-fpm démarre, vous pourrez obtenir son pid et le redémarrer comme ceci :

$ cat /etc/php-fpm.pid
815
$ sudo kill -USR2 815

Ou vous pouvez combiner tout cela en une seule commande :

$ sudo kill -USR2 `cat /etc/private/php-fpm.pid`

0 votes

Je préfère les réponses et commentaires de @dialtone et @Keeth avec pkill ... ci-dessus ; plus courts et plus simples.

0 votes

C'est mieux, et une belle explication. le pkill court le risque, si vous ne faites pas correspondre correctement les processus, de tuer vos autres clusters PHP si vous les exécutez sur la même machine (oui, c'est une mauvaise pratique).

3voto

Pooch Points 161

Pour ma part, j'avais simplement effectué une mise à niveau via apt et le redémarrage du service ne fonctionnait pas. J'ai fini par devoir tuer les processus existants avant que cela ne fonctionne en utilisant : killall php5-fpm

2voto

mrigendra Points 147

Sous CentOS 7

sudo systemctl enable php-fpm // Au cas où il est désactivé. Assure également qu'il démarre automatiquement avec le serveur

sudo systemctl start php-fpm  // Démarrer le service

sudo systemctl stop php-fpm   // Arrêter le service

sudo systemctl status php-fpm  // Voir l'état

2voto

MrPHP Points 141

Sous Ubuntu 16 avec php 5.6 fpm.

 /etc/init.d/php5.6-fpm restart

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X