Heim >Betrieb und Instandhaltung >Nginx >So lösen Sie das Problem, dass Nginx PHP-Dateien nicht analysiert
PHP ist nicht installiert oder nicht konfiguriert
Stellen Sie zunächst sicher, dass Ihr Server dies getan hat PHP ist installiert und Nginx wurde korrekt konfiguriert, damit es ordnungsgemäß 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 folgenden Zeilen 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 möchten wir den Verarbeitungsort der PHP-Datei von Nginx und andere Parameter angeben. Bitte bestätigen Sie, dass der Codeblock zu Ihrer Nginx-Konfigurationsdatei hinzugefügt wurde und dass der Pfad zur Sock-Datei mit Ihrer PHP-Konfigurationsdatei übereinstimmt. Die Datei index.php ist nicht festgelegt, wird aber in Nginx nicht automatisch verarbeitet. Dann müssen Sie index.php wie folgt in die Direktive „index“ der Nginx-Konfigurationsdatei einfügen:
index index.php index.html;
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 wo sich die PHP-Datei befindet, sind 755
Stellen Sie außerdem sicher, dass der Nginx-Benutzer Eigentümer aller PHP-Dateien und des Verzeichnisses ist, in dem sich die PHP-Dateien befinden ist auch auf die Nginx-Gruppe eingestellt. Dies kann mit dem folgenden Befehl erreicht werden:
sudo chown -R nginx:nginx /var/www/html/
Wenn Ihr Nginx die PHP-Datei nicht analysieren kann, ohne eine Fehlermeldung anzuzeigen, Bitte 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: PHP-Modul aktivieren.
PHP-Fehlerprotokollierung
Wenn Nginx die PHP-Datei nicht analysieren kann, aber keine Fehlermeldung anzeigt, Dann finden Sie weitere Informationen zum Fehler im PHP-Fehlerprotokoll. Öffnen Sie die Datei php.ini und kommentieren Sie die folgende Zeile aus, um die PHP-Fehlerprotokollierung zu aktivieren.
--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/
Wir geben /var/log/php/error.log als PHP-Fehlerprotokoll an und aktivieren die Fehlerprotokollierungsfunktion. Bitte stellen Sie sicher, dass der Ordner erstellt wurde und über die entsprechenden Berechtigungen verfügt.
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass Nginx PHP-Dateien nicht analysiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!