Heim > Artikel > Backend-Entwicklung > So geben Sie eine PHP-Fehlerprotokolldatei in Nginx aus
Nginx ist ein Open-Source-Hochleistungs-Webserver, der als Reverse-Proxy-Server, Load Balancer usw. verwendet werden kann. Und PHP ist eine häufig verwendete Programmiersprache zur Entwicklung dynamischer Websites und Webanwendungen.
Wenn Sie Nginx zum Bereitstellen von PHP-Programmen verwenden, können PHP-Fehler auftreten. Um Probleme besser beheben und lösen zu können, müssen PHP-Fehlerinformationen in der Protokolldatei aufgezeichnet werden. In diesem Artikel wird erläutert, wie Sie mit Nginx PHP-Fehlerprotokolldateien ausgeben, um die anschließende Fehlerbehebung und -verarbeitung zu erleichtern.
Um PHP-Fehlerprotokolldateien auszugeben, müssen wir der Nginx-Konfigurationsdatei einige Konfigurationselemente hinzufügen. Auf CentOS-Systemen befindet sich die Nginx-Konfigurationsdatei normalerweise unter /etc/nginx/nginx.conf. Suchen Sie den Konfigurationsabschnitt des http-Moduls in der Datei, normalerweise oben in der Datei, und fügen Sie das folgende Konfigurationselement hinzu:
http { ... server { ... location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; # error log fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log"; } ... } ... }
location ~ .php$ bedeutet, dass dieses Konfigurationselement nur beim Zugriff auf eine URL mit der Endung verwendet wird .php. fastcgi_pass gibt die Adresse und Portnummer des FastCGI-Servers von PHP an. fastcgi_param wird zum Festlegen der Parameter von PHP verwendet, wobei SCRIPT_FILENAME den Pfad und Dateinamen des PHP-Skripts angibt. include fastcgi_params weist Nginx an, die Standard-FastCGI-Parameter zu verwenden. Die letzte Zeile fügt fastcgi_param PHP_VALUE „error_log=/var/log/nginx/php_errors.log“; hinzu, was bedeutet, dass PHP-Fehlerinformationen in der Datei /var/log/nginx/php_errors.log aufgezeichnet werden.
Nach der Konfiguration von Nginx müssen wir eine Protokolldatei erstellen, um PHP-Fehlerinformationen aufzuzeichnen. Angenommen, wir möchten die Protokolldatei in /var/log/nginx/php_errors.log speichern, können wir den folgenden Befehl verwenden, um die Datei zu erstellen:
sudo touch /var/log/nginx/php_errors.log
Dann verwenden Sie den folgenden Befehl, um den Besitzer und die Berechtigungen der Datei zu ändern:
sudo chown nginx:nginx /var/log/nginx/php_errors.log sudo chmod 644 /var/log/nginx/php_errors.log
Test Wenn Sie ein PHP-Skript erstellen und eine Fehlermeldung erhalten, zum Beispiel:
<?php echo 1/0; ?>
Speichern Sie dieses Skript als test.php und platzieren Sie es dann im Web-Stammverzeichnis von Nginx, zum Beispiel /usr/ share/nginx/html/test.php . Besuchen Sie http://localhost/test.php in Ihrem Browser und Sie werden einen PHP-Fehler sehen. Verwenden Sie dann den folgenden Befehl, um den Inhalt der Protokolldatei anzuzeigen:
sudo tail /var/log/nginx/php_errors.log
Wenn alles normal ist, sollte eine Fehlermeldung ähnlich der folgenden angezeigt werden:
[17-Oct-2021 20:52:42 UTC] PHP Warning: Division by zero in /usr/share/nginx/html/test.php on line 2
In diesem Artikel haben wir die Ausgabe vorgestellt PHP-Fehlerprotokolldateien in Nginx, was für die Fehlerbehebung und Behandlung von PHP-Problemen sehr wichtig ist. Um eine PHP-Fehlerprotokolldatei auszugeben, fügen Sie zunächst fastcgi_param PHP_VALUE „error_log=/var/log/nginx/php_errors.log“ zur Nginx-Konfigurationsdatei hinzu, erstellen Sie dann eine Protokolldatei und testen Sie die Ausgabe.
Das obige ist der detaillierte Inhalt vonSo geben Sie eine PHP-Fehlerprotokolldatei in Nginx aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!