Heim >Betrieb und Instandhaltung >Nginx >So beheben Sie den Nginx-Fehler, bei dem kein PHP angezeigt wird
?? 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:
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!