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

So beheben Sie einen Linux-PHP7-FPM-Startfehler

WBOY
Freigeben: 2023-05-13 22:40:09
nach vorne
2196 Leute haben es durchsucht

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
Nach dem Login kopieren
“ 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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Ä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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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 ><div class="code" style="position:relative; padding:0px; margin:0px;"><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><div class="contentsignin">Nach dem Login kopieren</div></div>

Dann wird ein Fehler wie dieser gemeldet:

/usr/local/php/sbin/php-fpm
Nach dem Login kopieren
Nach dem Login kopieren

Ä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
Nach dem Login kopieren

Ändern Sie nginx in den Benutzernamen des aktuelles System wie folgt:<code><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">vi /usr/local/php/etc/php-fpm.d/www.conf</pre><div class="contentsignin">Nach dem Login kopieren</div></div>

然后报出这样的错误:

; 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
Nach dem Login kopieren

修改php的配置文件位置在www.conf

useradd nginx
groupadd nginx
usermod -G nginx nginx
Nach dem Login kopieren

将nginx修改为当前系统的用户名如下:

/usr/local/php/sbin/php-fpm
Nach dem Login kopieren
Nach dem Login kopieren

方法二:

直接创建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
Nach dem Login kopieren

三、php-fpm 内容扩展

启动php-fpm:

<code><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">kill -USR2 42891</pre><div class="contentsignin">Nach dem Login kopieren</div></div>

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

Methode Zwei:

Nginx-Benutzer und Benutzergruppen direkt erstellen

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

Drei, PHP-FPM-Inhaltserweiterung

Starten Sie PHP-FPM:

kill -USR2 &#39;cat /usr/local/php/var/run/php-fpm.pid&#39;
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage