web-dev-qa-db-fra.com

Comment redémarrer php-fpm?

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.

184
Galen

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.

335
tylerl

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

30
Diego Antunes

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
22
BurninLeo

Cela devrait fonctionner:

pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
13
dialt0ne

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

12
Blake Frederick

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

12
Lucas

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`
6
Pitarou

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

3
Pooch

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.

2
Danack

Sur Ubuntu 16 avec php 5.6 fpm.

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

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
2
Fokwa Best

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
1
Jeremy Tarpley

Le moyen le plus simple de trouver le nom du service php-fpm est de le rechercher:

systemctl -l --type service --all | grep fpm
1
Saman Mohamadi

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

0
Rj_Innocent_Coder

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

0
Junior M

Pour les anciennes versions de Debian et Ubuntu - PHP 5.6, ce sera

 /etc/init.d/php-fpm56 restart
 service php-fpm56 restart
0
Nicolas Guérinet

Sous Windows:

  1. Services ouverts dans la console de gestion:

    Start -> Run -> "services.msc" -> OK
    
  2. Sélectionnez php-fpm de la liste

  3. Faites un clic droit et sélectionnez redémarrer
0
Gerald Schneider