Je dois recharger mon fichier php.ini et il n'y a rien dans la boîte de dialogue d'aide pour le redémarrer.
184
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.
which php-fpm
donne/usr/local/sbin/php-fpm
.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éssystemctl 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
:Ensuite:
assurez-vous que / usr / local / sbin est dans votre $ PATH
puis appelez-le simplement depuis le terminal fpm-restart et BOOM !!
la source
homebrew.mxcl.php*.plist
si ça ne marche pasHabituellement, 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):
la source
stop: Unknown instance:
)Cela devrait fonctionner:
la source
killall php-fpm
php-fpm --prefix /usr/local
, en créant des répertoires sous celui-ci, et comme l'a dit @ Keethpkill -USR2 -o php-fpm
, en vérifiantpgrep -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.la source
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
la source
service --status-all
php-fpm va redémarrer si vous envoyez un signal USR2 au processus principal:
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:Ensuite, créez le fichier
/etc/php-fpm.pid
et assurez-vous que php-fpm est autorisé à le modifier:Maintenant, au prochain démarrage de php-fpm, vous pourrez obtenir son pid et le redémarrer comme ceci:
Ou vous pouvez les combiner en une seule commande:
la source
pkill ...
ci-dessus plus; plus court et plus simple.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
la source
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
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.
la source
Sur CentOS 7
la source
Sur Ubuntu 16 avec php 5,6 fpm.
la source
Sur RedHat / CentOS 7 en utilisant PHP 7 de softwarecollections.org
ou si vous utilisez systemctl:
la source
Le moyen le plus simple de trouver le nom du service php-fpm est de le rechercher:
la source
systemctl list-units *fpm*
Sous Windows:
Ouvrez les services dans la console de gestion:
Sélectionner
php-fpm
dans la listela source
Pour les anciennes versions de debian & ubuntu - php 5.6 ce sera
la source
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
la source
Pour répertorier les services systemd sous CentOS / RHEL 7.x +, utilisez
Pour lister tous les services:
Où vous pouvez trouver le service nommé * php-fpm * nom du service de copie et exécuter la commande suivante
NOTE: ea-php72-php-fpm.service nommez votre service
la source
Une autre méthode pour MaxOS
Ouvrez ActivityMonitor, recherchez php-fpm, trouvez le pid.
Terminal ouvert, utilisez
kill [pid]
pour arrêter php-fpmPuis
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.
la source
php-fpm
probablement de lancer le programme sous le mauvais utilisateur. ignorer les messages d'erreur n'est jamais une bonne idée.