Heim > Artikel > Backend-Entwicklung > So aktivieren Sie die PHP-Fehlerberichterstattung in Nginx
Nginx ist ein weit verbreiteter Webserver und Reverse-Proxy-Server, der in vielen Websites und Anwendungen mit hohem Datenverkehr verwendet wird. Bei der Verwendung von Nginx treten jedoch manchmal PHP-Fehler auf. In diesem Artikel werden die Gründe für die Aktivierung des PHP-Fehlers und die Lösung dieses Problems vorgestellt.
1. Das Vorhandensein des Problems
In Nginx erfordert die Verwendung des PHP-Interpreters die Bindung von PHP-CGI an Nginx. Die Interaktion zwischen PHP-CGI und Nginx kann über das FastCGI-Protokoll erreicht werden. Wie normal konfiguriert, schreibt Nginx die Ausgabe von PHP-CGI in eine temporäre Datei und überträgt die Datei dann über das Dateisystem. Fehler werden im Fehlerprotokoll von Nginx protokolliert und an den Front-End-Benutzer gesendet.
Da Nginx kein integriertes PHP-Modul hat, werden PHP-Fehler möglicherweise nicht richtig angezeigt, wenn PHP-CGI nicht richtig konfiguriert ist.
2. Grund für die Fehlermeldung
Wenn PHP einen Fehler meldet, zeigt Nginx standardmäßig den HTTP-Statuscode 502 Bad Gateway an. Dies kann folgende Gründe haben:
3. Lösung
Um das PHP-Fehlerproblem richtig zu lösen, müssen Sie die Ursache finden und die richtige Lösung finden.
Um zu überprüfen, ob der PHP-CGI-Prozess ausgeführt wird, können Sie den folgenden Befehl verwenden:
ps aux | grep php
Wenn keine Ausgabe erfolgt, bedeutet dies, dass PHP-CGI nicht ausgeführt wird läuft. Wenn Sie PHP-CGI neu starten müssen, können Sie den folgenden Befehl verwenden:
/etc/init.d/php-fpm restart
Um sicherzustellen, dass der PHP-CGI-Prozess korrekt mit Nginx kommuniziert, müssen Sie um Folgendes in der Nginx-Konfigurationsdatei zu überprüfen:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }
fastcgi_pass
gibt hier die Adresse und den Port des PHP-CGI-Prozesses an. Wenn dieser falsch ist oder nicht gestartet wird, kann Nginx nicht kommunizieren mit dem PHP-CGI-Verfahren. fastcgi_pass
指定了 PHP-CGI 进程的地址和端口,如果不正确或未启动,则会导致 Nginx 无法与 PHP-CGI 进程通信。
要检查 PHP-CGI 配置是否正确,可以打开 PHP 配置文件,例如 /etc/php5/cgi/php.ini
,并确保以下设置正确:
display_errors = On error_reporting = E_ALL & ~E_NOTICE
这些设置将启用 PHP 的错误显示和错误报告功能。
要确保 Nginx 配置文件正确,您需要打开 Nginx 配置文件,例如 /etc/nginx/nginx.conf
Um zu überprüfen, ob die PHP-CGI-Konfiguration korrekt ist, können Sie die PHP-Konfigurationsdatei öffnen, z. B. /etc/php5/cgi/php .ini
und stellen Sie sicher, dass die folgenden Einstellungen korrekt sind:
error_log /var/log/nginx/error.log;
Diese Einstellungen aktivieren die Fehleranzeige- und Fehlerberichtsfunktionen von PHP.
/etc/nginx/nginx.conf code> und stellen Sie sicher, dass Folgendes korrekt eingerichtet ist: 🎜rrreee🎜Diese Einstellung aktiviert die Fehlerprotokollierungsfunktion von Nginx und hilft so, Fehler zu finden und zu debuggen. 🎜🎜Fazit🎜🎜 PHP-Fehler sind ein häufiges Problem bei der Verwendung von Nginx, lassen sich aber auch leicht beheben. Überprüfen Sie einfach, ob der PHP-CGI-Prozess läuft und korrekt mit Nginx kommuniziert und ob PHP und Nginx richtig konfiguriert sind. Mit diesen einfachen Schritten können Sie PHP-Fehlerprobleme einfach beheben und sicherstellen, dass Ihr Server ordnungsgemäß läuft. 🎜
Das obige ist der detaillierte Inhalt vonSo aktivieren Sie die PHP-Fehlerberichterstattung in Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!