Heim >Betrieb und Instandhaltung >Nginx >So geben Sie eine PHP-Fehlerprotokolldatei in Nginx aus

So geben Sie eine PHP-Fehlerprotokolldatei in Nginx aus

王林
王林nach vorne
2023-05-18 16:59:041355Durchsuche

Nginx konfigurieren

Fügen Sie der Nginx-Konfigurationsdatei einige Konfigurationselemente hinzu, um PHP-Fehlerprotokolldateien auszugeben. Normalerweise wird die Nginx-Konfigurationsdatei auf CentOS-Systemen in /etc/nginx/nginx.conf gespeichert. Normalerweise befindet sich oben in der Datei der Konfigurationsabschnitt des http-Moduls in der Datei. Dort können Sie das folgende Konfigurationselement hinzufügen:

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";
        }
        ...
    }
    ...
}

Dieses Konfigurationselement wird nur angewendet, wenn die aufgerufene URL mit .php endet , verwenden Sie location ~ .php$ . Die Adresse und der Port des PHP-FastCGI-Servers werden in fastcgi_pass festgelegt. fastcgi_param wird zum Festlegen der Parameter von PHP verwendet, wobei SCRIPT_FILENAME den Pfad und Dateinamen des PHP-Skripts angibt. Um die Standard-FastCGI-Parameter zu verwenden, muss fastcgi_params in Nginx eingebunden werden. 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

Erstellen Sie eine Protokolldatei, um PHP-Fehlerinformationen aufzuzeichnen. Dies ist ein Schritt, der nach der Konfiguration von Nginx erforderlich ist. 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 . Wenn Sie http://localhost/test.php besuchen, wird ein PHP-Fehler angezeigt. 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

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:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen