18 votes

PHP-FPM ne démarre pas automatiquement après le redémarrage

Je fais tourner PHP-FPM et Nginx, de temps en temps, pour une raison quelconque, je dois redémarrer le serveur. Une fois que le serveur est de nouveau en marche, le service nginx démarre automatiquement, cependant, PHP-FPM ne le fait pas. Cela peut être observé lorsque j'exécute la commande sudo /etc/init.d/php-fpm restart immédiatement après un redémarrage et obtiens le résultat :

$ sudo /etc/init.d/php-fpm restart
Arrêt de php-fpm :                                          [ÉCHEC]
Démarrage de php-fpm :                                          [  OK  ]

Est-ce un comportement attendu ? Quelle est la meilleure façon de faire démarrer automatiquement PHP-FPM ? Y a-t-il une option de configuration quelque part, ou dois-je ajouter la commande à l'un des scripts de démarrage Linux ?

Merci.

0 votes

Quelle distribution Linux utilisez-vous? Comment avez-vous installé php-fpm? À partir d'un paquet ou à partir des sources?

0 votes

Cela fonctionne sur une instance Amazon EC2 Linux. PHP-FPM a été installé en utilisant yum install -y php-fpm

28voto

Michael Hampton Points 232226

Alors configurez-le pour qu'il démarre au démarrage :

chkconfig php-fpm on

1 votes

Tout simple, génial! Cheers

0 votes

bash: chkconfig: commande introuvable

0 votes

Solution pour chkconfig: commande introuvable : update-rc.d php-fpm enable (vous devrez peut-être spécifier le fpm spécifique, comme php8.3-fpm). stackoverflow.com/a/23708174/4249483

8voto

cloudhead Points 10279

Je suis tombé sur ce même problème sous Ubuntu 16.04 et je laisse ma réponse ici pour les utilisateurs futurs de Google qui rencontrent ce problème. Puisque chkconfig est principalement spécifique à CentOS, il n'existe évidemment pas sur Ubuntu. Apparemment, pour démarrer un PHP personnalisé (php-fpm SAPI) au démarrage sous systemd, qui est nouveau sur Ubuntu 16.04 (auparavant, Upstart), il doit être enregistré avec le système en plus de simplement déposer le script init.d dans /etc/init.d/. Pour enregistrer le script, j'ai exécuté :

update-rc.d php-fpm defaults

Un reboot et ps aux subséquent ont confirmé que php-fpm était bien démarré au démarrage. Il a également été ajouté à /etc/init.d/.depend.start.

Autres réflexions : Ubuntu Upstart était assez pratique, donc je n'ai jamais eu besoin d'exécuter update-rc.d après avoir placé un script init.d - ça marchait simplement. J'avais complètement oublié cette commande.

2 votes

La question initiale concernant Amazon Linux, je ne peux pas dire combien d'utilisateurs d'Ubuntu la verront. En ce qui concerne 16.04 et systemd, la chose à faire est d'utiliser une unité systemd appropriée plutôt que l'ancien style upstart ou ancien script init. Vous devriez pouvoir trouver une unité systemd utilisable avec le package de la distribution, ou ailleurs.

1 votes

Je suis un utilisateur d'Ubuntu 14.04 et cela m'a aidé, merci! PS: sudo pourrait être nécessaire pour cette commande.

0 votes

Si vous obtenez une erreur concernant auoms est cassé - mettez à jour le bloc d'info d'initialisation dans /etc/init.d/auoms pour cette version : github.com/microsoft/OMS-Auditd-Plugin/pull/62

5voto

Manuel Points 141

Depuis CentOS 7, vous devez simplement activer les services via systemctl :

systemctl enable php-fpm

Vous pouvez vérifier s'ils fonctionnent ensuite via :

systemctl status php-fpm

-1voto

Aldo Points 99

Vous pouvez ajouter quelques commandes au script de démarrage .bashrc :

Ouvrez .bashrc :

nano .bashrc

Collez certaines commandes à exécuter au démarrage :

(vérifiez quelles commandes fonctionnent pour vous)

# Démarrer les services fpm
sudo /etc/init.d/php-fpm start
sudo /etc/init.d/php8.3-fpm start
sudo /etc/init.d/php8.2-fpm start
sudo /etc/init.d/php8.1-fpm start
sudo /etc/init.d/php8.0-fpm start
sudo /etc/init.d/php7.4-fpm start

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