Heim >Backend-Entwicklung >PHP-Problem >Was tun, wenn Nginx PHP-Dateien nicht analysiert?

Was tun, wenn Nginx PHP-Dateien nicht analysiert?

PHPz
PHPzOriginal
2023-04-18 10:18:341197Durchsuche

nginx ist ein Hochleistungs-Webserver, der häufig mit PHP zum Rendern dynamischer Inhalte in Webanwendungen verwendet wird. Allerdings kann es vorkommen, dass Nginx die PHP-Datei nicht richtig analysiert, was dazu führt, dass die Anwendung nicht ordnungsgemäß ausgeführt wird. In diesem Artikel werden wir einige häufige Probleme untersuchen, die dazu führen, dass Nginx PHP-Dateien nicht analysieren und Lösungen bereitstellen kann.

  1. PHP ist nicht installiert oder konfiguriert

Stellen Sie zunächst sicher, dass PHP auf Ihrem Server installiert und Nginx ordnungsgemäß konfiguriert ist, damit es funktioniert. Um zu überprüfen, ob PHP korrekt installiert wurde, öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:

php -v

Dadurch wird die derzeit auf Ihrem Server installierte PHP-Version angezeigt. Wenn die PHP-Version nicht angezeigt wird, erwägen Sie die Installation von PHP.

Um sicherzustellen, dass PHP mit Nginx funktioniert, bearbeiten Sie die Nginx-Konfigurationsdatei und fügen Sie die folgende Zeile hinzu:

location ~ \.php$ {
  fastcgi_pass  unix:/run/php/php7.4-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Hier geben wir den Speicherort und andere Parameter an, die Nginx zur Verarbeitung der PHP-Dateien verwenden wird. Bitte stellen Sie sicher, dass sich dieses Snippet in Ihrer Nginx-Konfigurationsdatei befindet und die darin enthaltene Sock-Datei mit Ihrer PHP-Konfigurationsdatei übereinstimmt.

  1. index.php-Datei nicht festgelegt

Wenn die Homepage Ihrer Webanwendung index.php ist, sie aber nicht automatisch in Nginx verarbeitet wird, müssen Sie einen Index in der „index“-Direktive der Nginx-Konfigurationsdatei hinzufügen. php wie unten gezeigt:

index index.php index.html;

Wenn Sie nun die Homepage öffnen, sucht Nginx automatisch nach index.php und verarbeitet es korrekt.

  1. PHP-Dateiberechtigungen

Ein weiterer Hauptgrund, warum Nginx PHP-Dateien nicht analysieren kann, sind falsche Berechtigungen. Stellen Sie Folgendes sicher:

  • Die Berechtigungen der PHP-Datei sind 644.
  • Die Berechtigungen des Verzeichnisses, in dem sich die PHP-Datei befindet, sind 755.

Stellen Sie außerdem sicher, dass der Besitz der PHP-Datei auf Nginx-Benutzer und eingestellt ist Der Besitz des Verzeichnisses, in dem sich die PHP-Datei befindet, ist auf nginx group festgelegt. Dies kann mit dem folgenden Befehl erreicht werden:

sudo chown -R nginx:nginx /var/www/html/

Hier weisen wir dem Nginx-Benutzer und der Nginx-Gruppe den Besitz des Verzeichnisses /var/www/html/ zu.

  1. PHP-Modul nicht aktiviert

Wenn Nginx die PHP-Datei nicht analysieren kann und keine Fehlermeldung angezeigt wird, stellen Sie sicher, dass Sie das PHP-Modul aktiviert haben. Um es zu aktivieren, bearbeiten Sie die Kompilierungsoptionen von nginx und fügen Sie die folgende Zeile hinzu:

--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_auth_request_module \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_degradation_module \
--with-http_xslt_module \
--with-http_stub_status_module \
--with-http_spdy_module \
--with-http_auth_request_module \
--with-http_slice_module \
--with-mail \
--with-mail_ssl_module \
--with-ipv6 \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-threads \
--with-debug \
--add-module=/path/to/php-src/sapi/nginx/

Hier haben wir --add-module=/path/to/php-src/sapi/nginx/ hinzugefügt, um das PHP-Modul zu aktivieren.

  1. PHP-Fehlerprotokollierung

Wenn nginx die PHP-Datei nicht analysieren kann, aber keine Fehlermeldung anzeigt, finden Sie weitere Informationen zum Fehler im PHP-Fehlerprotokoll. Um die PHP-Fehlerprotokollierung zu aktivieren, öffnen Sie die Datei php.ini und kommentieren Sie die folgende Zeile aus:

error_log = /var/log/php/error.log
log_errors = On

Hier geben wir das PHP-Fehlerprotokoll als /var/log/php/error.log an und aktivieren die Fehlerprotokollierung. Bitte stellen Sie sicher, dass der Ordner erstellt wurde und über die entsprechenden Berechtigungen verfügt.

Fazit

In diesem Artikel haben wir einige Gründe vorgestellt, warum Nginx PHP-Dateien nicht analysieren kann, und Lösungen bereitgestellt. Wenn solche Probleme auftreten, befolgen Sie die oben genannten Schritte und konfigurieren Sie Nginx ordnungsgemäß für die Verarbeitung von PHP-Dateien.

Das obige ist der detaillierte Inhalt vonWas tun, wenn Nginx PHP-Dateien nicht analysiert?. 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