Heim  >  Artikel  >  Backend-Entwicklung  >  So geben Sie eine PHP-Fehlerprotokolldatei in Nginx aus

So geben Sie eine PHP-Fehlerprotokolldatei in Nginx aus

PHPz
PHPzOriginal
2023-03-28 13:54:20769Durchsuche

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.

Nginx konfigurieren

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.

Erstellen Sie eine Protokolldatei

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

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

Fazit

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!

Stellungnahme:
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