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