Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So beheben Sie einen Linux-PHP7-FPM-Startfehler

So beheben Sie einen Linux-PHP7-FPM-Startfehler

WBOY
WBOYnach vorne
2023-05-13 22:40:092094Durchsuche

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-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
“ 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 &#39;nginx&#39;
[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&#39;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.pid

Methode Zwei:

Nginx-Benutzer und Benutzergruppen direkt erstellen

kill -INT &#39;cat /usr/local/php/var/run/php-fpm.pid&#39;

Drei, PHP-FPM-Inhaltserweiterung

Starten Sie PHP-FPM:

<code><pre class="brush:php;toolbar:false">kill -USR2 &amp;#39;cat /usr/local/php/var/run/php-fpm.pid&amp;#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: 🎜rrreee

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

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen