Maison  >  Article  >  développement back-end  >  Que faire si Linux php7-fpm ne démarre pas

Que faire si Linux php7-fpm ne démarre pas

藏色散人
藏色散人original
2023-02-20 09:20:464561parcourir

Solution à l'échec du démarrage de Linux php7-fpm : 1. Modifiez l'élément "error_log" dans le fichier "php-fpm.conf" 2. Modifiez l'emplacement du fichier de configuration php ; 3. Modifiez nginx avec le nom d'utilisateur de ; le système actuel ; 4. Créer directement des utilisateurs et des groupes d'utilisateurs nginx.

Que faire si Linux php7-fpm ne démarre pas

L'environnement d'exploitation de ce tutoriel : système Windows 10, version php7.2.1, ordinateur DELL G3

Que dois-je faire si Linux php7-fpm ne démarre pas ?

Solution à l'échec de démarrage de php-fpm (après l'installation de PHP sur centOS)

Après avoir compilé et installé php7.2.1 sur centOS7.0, car l'extension php a été ajoutée, php-fpm doit être redémarré

 ;

1. Laissez-moi d'abord parler de ma configuration, de la configuration de php-fpm :

Après l'installation initiale, ces fichiers ne sont pas disponibles. Vous devez les créer un par un cp, puis les démarrer s'il y en a. aucune erreur, vous n'avez pas besoin de lire "2. Erreur de démarrage de php-fpm : "

1. À propos de la configuration de php-fpm

cp php.ini-development /usr/local/php7/etc/php.ini
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

2.

Démarrez php-fpm:

/usr/local/php/sbin/php-fpm

2. Erreur de démarrage de fpm :

Cause et solution :

1 Exécutez-le directement et il y aura une erreur indiquant que le fichier de configuration est introuvable.

$ php-fpm

[11-Jan-2014 16:03:03] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)
[11-Jan-2014 16:03:03] ERROR: failed to load configuration file '/private/etc/php-fpm.conf'
[11-Jan-2014 16:03:03] ERROR: FPM initialization failed

Vous pouvez générer le fichier de configuration dans le répertoire /private/etc/, ce qui nécessite des autorisations root (sudo)

ou placer le fichier de configuration dans un répertoire avec des autorisations pour les utilisateurs ordinaires et spécifier l'emplacement du fichier de configuration via le paramètre --fpm-config Comme suit :

# cp /private/etc/php-fpm.conf.default /etc/php-fpm.conf
$ php-fpm --fpm-config /etc/php-fpm.conf
[11-Jan-2014 16:10:49] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
[11-Jan-2014 16:10:49] ERROR: failed to post process the configuration
[11-Jan-2014 16:10:49] ERROR: FPM initialization failed

Le message d'erreur s'affiche : Le fichier "log" ne peut pas être ouvert correctement La raison est qu'il fonctionne dans le répertoire /usr/var par défaut. pour spécifier le chemin correct du fichier journal

$ vim /usr/local/etc/php-fpm.conf

Modifiez le fichier php-fpm.conf Le préfixe par défaut de l'élément error_log dans php-fpm est /usr/var, mais ce chemin n'existe pas

error_log = /usr/local/var/log/php-fpm.log
pid = /usr/local/var/run/php-fpm.pid

Ou ne modifiez pas le chemin de l'élément de configuration dans le fichier de configuration. Dans les paramètres d'exécution de php-fpm (-p), spécifiez l'endroit où le fichier d'exécution est placé. Préfixe de chemin relatif

$ php-fpm --fpm-config /php-fpm.conf  --prefix /usr/local/var

À ce stade, le démon php-fpm peut essentiellement être. démarré correctement.

Message d'erreur :

[12-Jul-2013 17:18:57] ERROR: [/usr/local/php5/etc/php-fpm.conf:144] value is NULL for a ZEND_INI_PARSER_ENTRY
[12-Jul-2013 17:18:57] ERROR: failed to load configuration file '/usr/local/php5/etc/php-fpm.conf'
[12-Jul-2013 17:18:57] ERROR: FPM initialization failed

2. La raison principale de l'erreur est l'erreur de configuration /usr/local/php5/sbin/php-fpm, veuillez vérifier attentivement. Mon erreur était que le signe = manquait ici dans le groupe = www. Donc quelque chose s'est mal passé

[root@localhost ~]# /usr/local/php5/sbin/php-fpm
PHP:  syntax error, unexpected TC_STRING in /usr/local/php5/etc/php.ini on line 211

3. Lors du démarrage de php-fpm, l'erreur ERREUR : [pool www] ne peut pas obtenir l'uid pour l'utilisateur 'nginx'

Méthode 1 :

Après avoir compilé php7, utilisez la commande suivante. pour démarrer

/usr/local/php/sbin/php-fpm

Ensuite, une erreur comme celle-ci est signalée :

[07-Dec-2018 17:59:31] ERROR: [pool www] cannot get uid for user 'nginx'
[07-Dec-2018 17:59:31] ERROR: FPM initialization failed

Modifiez l'emplacement du fichier de configuration php sur www.conf

vi /usr/local/php/etc/php-fpm.d/www.conf

Changez nginx par le nom d'utilisateur du système actuel comme suit :

; Unix user/group of processes
 ; Note: The user is mandatory. If the group is not set, the default user's group
 ;       will be used.
 user = www.emam.cn
 group = www.emam.cn

Méthode 2 :

Créez directement des utilisateurs et des groupes d'utilisateurs nginx

useradd nginx
groupadd nginx
usermod -G nginx nginx

3. Extension de contenu php-fpm

Démarrez php-fpm :

/usr/local/php/sbin/php-fpm

php 5.3.3 et versions ultérieures php-fpm ne prendront plus en charge php-fpm. /local/php/sbin/php- fpm (start|stop|reload) et d'autres commandes, alors ne regardez plus ces anciennes commandes, vous devez utiliser le contrôle du signal :

Le processus maître peut comprendre les signaux suivants

INT, TERM pour terminer immédiatement

QUIT pour terminer en douceur

USR1 Rouvre le fichier journal

USR2 recharge en douceur tous les processus de travail et recharge la configuration et les modules binaires

Une méthode de redémarrage simple et directe :

Vérifiez le maître traiter le numéro de php-fpm en premier

# ps aux|grep php-fpm
root     21891  0.0  0.0 112660   960 pts/3    R+   16:18   0:00 grep --color=auto php-fpm
root     42891  0.0  0.1 182796  1220 ?        Ss   4月18   0:19 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody   42892  0.0  0.6 183000  6516 ?        S    4月18   0:07 php-fpm: pool www
nobody   42893  0.0  0.6 183000  6508 ?        S    4月18   0:17 php-fpm: pool www

Redémarrer php-fpm:

kill -USR2 42891

OK.

La solution ci-dessus est généralement utilisée lorsque le fichier php-fpm.pid n'est pas généré. Si vous souhaitez générer php-fpm.pid, utilisez la solution suivante :

Comme vous pouvez le voir dans le processus maître ci-dessus, matster utilise. /usr/local/ Pour le fichier de configuration php/etc/php-fpm.conf, cat /usr/local/php/etc/php-fpm.conf trouvé :

[global]
; Pid file
; Note: the default prefix is /usr/local/php/var
; Default Value: none
;pid = run/php-fpm.pid

pid le chemin du fichier doit être situé dans /usr/local /php/var/run/php -fpm.pid, car il est commenté, il n'est pas généré. Nous supprimons le commentaire puis tuons -USR2 42891. Redémarrez php-fpm et le fichier pid sera généré la prochaine fois. , vous pouvez utiliser la commande suivante pour redémarrer et fermer php-fpm :

php-fpm Fermer :

kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'

php-fpm Redémarrer :

kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn