Heim >Backend-Entwicklung >PHP-Tutorial >Warum stellt Nginx meine PHP-Dateien als Downloads bereit, anstatt sie auszuführen?

Warum stellt Nginx meine PHP-Dateien als Downloads bereit, anstatt sie auszuführen?

DDD
DDDOriginal
2024-12-02 19:04:10130Durchsuche

Why is Nginx Serving My PHP Files as Downloads Instead of Executing Them?

Nginx stellt PHP-Dateien als Downloads bereit: Behebung des Ausführungsproblems

Wenn Sie auf Situationen stoßen, in denen Nginx PHP-Dateien als Downloads bereitstellt, anstatt sie auszuführen, Es ist wichtig, die zugrunde liegende Ursache zu diagnostizieren.

Überprüfung der Konfiguration Dateien:

  • /etc/nginx/sites-available/default: Stellen Sie sicher, dass sowohl IPv4- als auch IPv6-Listenanweisungen unkommentiert sind. Stellen Sie außerdem sicher, dass index.php in der Indexzeile enthalten ist.
  • PHP-Einstellungen: Überprüfen Sie /etc/php5/fpm/php.ini und bestätigen Sie, dass cgi.fix_pathinfo auf 0 gesetzt ist . Dieser Parameter verhindert, dass der Webserver die Dateierweiterung an den FastCGI-URI anhängt.

Konfiguration Beispiel:

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/html;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name localhost;

               location ~ \.php$ {
                    try_files $uri =404;
                    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    ## NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #               # With php5-cgi alone:
    #               fastcgi_pass 127.0.0.1:9000;
    #               # With php5-fpm:
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_index index.php;
                    include fastcgi_params;
            }
  

              location / {
                    
                    try_files $uri $uri/ =404;
                    # Uncomment to enable naxsi on this location
                    # include /etc/nginx/naxsi.rules
            }
}

Dienste neu starten:

Nachdem Sie die erforderlichen Änderungen vorgenommen haben, starten Sie sowohl Nginx als auch php5-fpm mit den folgenden Befehlen neu:

sudo service nginx restart
sudo service php5-fpm restart

Zusätzlich Überlegungen:

  • Stellen Sie sicher, dass PHP korrekt auf dem Server installiert und konfiguriert ist.
  • Wenn das Problem weiterhin besteht, überprüfen Sie die Fehlerprotokolle auf weitere Hinweise.

Das obige ist der detaillierte Inhalt vonWarum stellt Nginx meine PHP-Dateien als Downloads bereit, anstatt sie auszuführen?. 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