Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >So beheben Sie einen Linux-PHP7-FPM-Startfehler
Lösung für Linux php7-fpm-Startfehler: 1. Ändern Sie das Element „error_log“ in der Datei „php-fpm.conf“. 2. Ändern Sie den Speicherort der Konfigurationsdatei von PHP. 3. Ändern Sie nginx auf das aktuelle System Benutzername; 4. Erstellen Sie direkt Nginx-Benutzer und Benutzergruppen.
Lösung für PHP-FPM-Startfehler (nach der Installation von PHP auf CentOS)
Nach dem Kompilieren und Installieren von PHP7.2.1 auf CentOS7.0 müssen Sie PHP-FPM neu starten, da die PHP-Erweiterung hinzugefügt wurde
1. Lassen Sie mich zunächst über meine Konfiguration und die Konfiguration von PHP-FPM sprechen: Nach der Erstinstallation sind diese Dateien nicht verfügbar. Wenn kein Fehler auftritt, müssen Sie sie einzeln erstellen , Sie müssen „2. php-fpm-Startfehler: „1. Informationen zum Konfigurieren von php-fpmcp 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“ nicht lesen.
Ursache und Lösung:
1. Direkt ausführen, es liegt ein Fehler vor, dass die Konfigurationsdatei nicht gefunden werden kann.
/usr/local/php/sbin/php-fpm
Sie können die Konfigurationsdatei im Verzeichnis /private/etc/ generieren, wofür Root-Berechtigungen erforderlich sind (sudo)
oder die Konfigurationsdatei in einem Verzeichnis mit Berechtigungen für normale Benutzer ablegen und den Speicherort der Konfigurationsdatei über angeben Der Parameter --fpm-config lautet wie folgt:
$ 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
Die Fehlermeldung lautet: Die Datei „log“ kann standardmäßig nicht geöffnet werden Datei, um den korrekten Protokolldateipfad anzugeben
# 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
Ändern Sie die Datei php-fpm.conf. Das Standardpräfix für das error_log-Element in php-fpm ist /usr/var, aber es gibt keinen solchen Pfad
$ vim /usr/local/etc/php-fpm.conf
Oder ändern Sie die Datei nicht Pfad des Konfigurationselements in der Konfigurationsdatei (-p) Geben Sie den Ort an, an dem die Laufzeitdatei platziert wird.
error_log = /usr/local/var/log/php-fpm.log pid = /usr/local/var/run/php-fpm.pid
An dieser Stelle kann der PHP-FPM-Daemon grundsätzlich sein richtig gestartet.
Fehlermeldung:
$ php-fpm --fpm-config /php-fpm.conf --prefix /usr/local/var
2. Die Hauptursache des Fehlers ist ein /usr/local/php5/sbin/php-fpm-Konfigurationsfehler, bitte sorgfältig prüfen. Mein Fehler war, dass das =-Zeichen hier in der Gruppe = www fehlte. Also ist etwas schiefgelaufen
[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
3. Beim Starten von php-fpm erscheint der Fehler FEHLER: [pool www] kann die UID für Benutzer „nginx“ nicht abrufen
Methode 1:
Verwenden Sie nach dem Kompilieren von PHP7 den folgenden Befehl, um es zu starten
<code><pre class="brush:php;toolbar:false">[root@localhost ~]# /usr/local/php5/sbin/php-fpm
PHP: syntax error, unexpected TC_STRING in /usr/local/php5/etc/php.ini on line 211</pre>
Dann wird ein Fehler wie dieser gemeldet:
/usr/local/php/sbin/php-fpm
Ändern Sie den Speicherort der PHP-Konfigurationsdatei unter www.conf
[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
Ändern Sie nginx in den Benutzernamen des aktuelles System wie folgt:<code><pre class="brush:php;toolbar:false">vi /usr/local/php/etc/php-fpm.d/www.conf</pre>
然后报出这样的错误:
; 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
修改php的配置文件位置在www.conf
useradd nginx groupadd nginx usermod -G nginx nginx
将nginx修改为当前系统的用户名如下:
/usr/local/php/sbin/php-fpm
方法二:
直接创建nginx用户和用户组
# 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
三、php-fpm 内容扩展
启动php-fpm:
<code><pre class="brush:php;toolbar:false">kill -USR2 42891</pre>
[global] ; Pid file ; Note: the default prefix is /usr/local/php/var ; Default Value: none ;pid = run/php-fpm.pidMethode Zwei: Nginx-Benutzer und Benutzergruppen direkt erstellen
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'Drei, PHP-FPM-InhaltserweiterungStarten Sie PHP-FPM:
<code><pre class="brush:php;toolbar:false">kill -USR2 &#39;cat /usr/local/php/var/run/php-fpm.pid&#39;</pre>
php 5.3. 3. Das zukünftige php-fpm wird /usr/local/php/sbin/php-fpm (start|stop|reload) und andere Befehle, die php-fpm zuvor hatte, nicht mehr unterstützen. Schauen Sie sich diesen altmodischen Befehl also nicht mehr an. Sie müssen die Signalsteuerung verwenden: Der Masterprozess kann die folgenden Signale verstehen: INT, TERM Sofort beenden QUIT Reibungslos beenden USR1 Öffnen Sie die Protokolldatei erneut USR2 Laden Sie alle Arbeitsprozesse reibungslos neu und laden Sie Konfigurations- und Binärmodule neu. Eine einfache und direkte Neustartmethode: Überprüfen Sie zuerst die Master-Prozessnummer von PHP-FPM. Die obige Lösung wird im Allgemeinen verwendet, wenn die Datei php-fpm.pid nicht generiert wird. Wenn Sie php-fpm.pid generieren möchten, verwenden Sie die folgende Lösung: Wie Sie dem Master-Prozess oben entnehmen können, verwendet matster /usr/local/ Für die Konfigurationsdatei php/etc/php-fpm.conf, cat /usr/local/php/etc/php-fpm.conf gefunden:
rrreee
pid-Dateipfad sollte sich unter /usr/local befinden /php/var/run/php -fpm.pid, da es auskommentiert ist, wird es nicht generiert. Wir entfernen den Kommentar und töten dann -USR2 42891. Starten Sie php-fpm neu und die PID-Datei wird das nächste Mal generiert , können Sie den folgenden Befehl verwenden, um php-fpm neu zu starten und zu schließen: 🎜 🎜php-fpm herunterfahren: 🎜rrreee 🎜php-fpm neu starten: 🎜rrreeeDas obige ist der detaillierte Inhalt vonSo beheben Sie einen Linux-PHP7-FPM-Startfehler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!