ホームページ >バックエンド開発 >PHPチュートリアル >Nginx が PHP ファイルを実行せずにダウンロードとして提供するのはなぜですか?

Nginx が PHP ファイルを実行せずにダウンロードとして提供するのはなぜですか?

DDD
DDDオリジナル
2024-12-02 19:04:10140ブラウズ

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

Nginx が PHP ファイルをダウンロードとして提供する: 実行の問題の解決

Nginx が PHP ファイルを実行ではなくダウンロードとして提供する状況が発生した場合、根底にあるものを診断することが不可欠です

設定ファイルの確認:

  • /etc/nginx/sites-available/default: IPv4 と IPv6 の両方が存在することを確認します。 listen ディレクティブはコメント化されていません。また、index.php がインデックス行に含まれていることを確認します。
  • PHP 設定: /etc/php5/fpm/php.ini をチェックし、cgi.fix_pathinfo が 0 に設定されていることを確認します。このパラメータは、Web サーバーが FastCGI にファイル拡張子を追加することを防ぎます。 URI.

構成例:

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
            }
}

サービスの再起動:

必要な変更を加えた後、次のコマンドを使用して、Nginx と php5-fpm の両方を再起動します。コマンド:

sudo service nginx restart
sudo service php5-fpm restart

追加の考慮事項:

  • PHP がサーバーにインストールされ、正しく構成されていることを確認してください。
  • 問題が発生した場合問題が解決しない場合は、エラー ログに追加の手がかりがないか確認してください。

以上がNginx が PHP ファイルを実行せずにダウンロードとして提供するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。