Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So beheben Sie den Nginx-Fehler, bei dem kein PHP angezeigt wird

So beheben Sie den Nginx-Fehler, bei dem kein PHP angezeigt wird

PHPz
PHPznach vorne
2023-05-26 13:03:461623Durchsuche

?? Vorfahrt beachten. Aber während des Entwicklungsprozesses benötigen wir diese Fehlermeldungen, um Probleme zu lokalisieren und das Programm zu debuggen.

Eine Möglichkeit, dieses Problem zu lösen, besteht darin, die Fehlerausgabe von PHP zu aktivieren. In PHP können wir die Fehlerprotokollstufe festlegen oder Fehler sofort melden. Wir können der Nginx-Konfigurationsdatei einige Optionen hinzufügen, um PHP-Fehlermeldungen anzuzeigen.

2. Falsche PHP-Einstellungen in der Nginx-Konfigurationsdatei

Öffnen Sie die Nginx-Serverkonfigurationsdatei, normalerweise /etc/nginx/nginx.conf, suchen Sie nach http{} Block, fügen Sie die folgende Konfiguration hinzu:

server {
    # server settings
    ...
    
    # server block location rules
    ...

    # php-fpm status check
    location ~ ^/(status|ping)$ {
        access_log off;
        # php-fpm settings
        fastcgi_param PHP_VALUE "error_reporting=E_ALL";
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }

    # php error logs
    location ~ \.php$ {
        fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_error.log";
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }

    # error pages
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

    # static files
    location ~* \.(jpg|jpeg|gif|png|css|js|ico)$ {
        expires 7d;
        access_log off;
    }

    # disable direct access to .ht files
    location ~ /\.ht {
        deny all;
    }
}

Darunter wird fastcgi_param PHP_VALUE verwendet, um Fehlerinformationen an den vom Nginx-Server angeforderten PHP-Prozess zu übergeben. error_reporting=E_ALL bedeutet die Ausgabe von Informationen aller Fehlerstufen. fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_error.log"; bedeutet die Ausgabe von PHP-Fehlerinformationen in die Datei /var/log/nginx/php_error.log.

Nachdem Sie die Konfigurationsdatei geändert haben, laden Sie den Nginx-Server neu:

sudo systemctl reload nginx

3. Falsche Einstellungen in der PHP-Konfigurationsdatei /etc/nginx/nginx.conf,找到http{}块,添加如下配置:

error_reporting = E_ALL

其中,fastcgi_param PHP_VALUE用于向Nginx服务器请求的PHP进程传递错误信息。 error_reporting=E_ALL表示输出所有错误级别的信息。fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_error.log";表示将PHP错误信息输出到/var/log/nginx/php_error.log文件中。

更改完配置文件后,重新加载Nginx服务器:

display_errors = On

三、PHP 配置文件中的错误设置

PHP的配置文件一般为/etc/php/7.4/fpm/php.ini,找到error_reporting这一行,将其设置为显示所有的错误信息:

sudo systemctl restart php7.4-fpm

然后找到display_errors这一行,将其设置为On

PHPs Konfigurationsdatei ist im Allgemeinen /etc/php/7.4/fpm/php.ini , suchen Sie die Zeile <code>error_reporting und stellen Sie sie so ein, dass alle Fehlermeldungen angezeigt werden:

rrreee🎜 Suchen Sie dann die Zeile display_errors und setzen Sie sie auf Ein, damit alle PHP-Fehlermeldungen auf der Webseite angezeigt werden können: 🎜rrreee🎜Dann speichern Sie die Datei und starten PHP-FPM neu: 🎜rrreee

Das obige ist der detaillierte Inhalt vonSo beheben Sie den Nginx-Fehler, bei dem kein PHP angezeigt wird. 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