首頁 >後端開發 >php教程 >為什麼 Nginx 將我的 PHP 檔案作為下載而不是執行它們?

為什麼 Nginx 將我的 PHP 檔案作為下載而不是執行它們?

DDD
DDD原創
2024-12-02 19:04:10133瀏覽

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

Nginx 以下載方式提供PHP 檔案:解決執行問題

當遇到Nginx 以下載方式提供PHP 檔案而不是執行它們的情況時,診斷根本原因至關重要。

檢查設定檔:

  • /etc/nginx/sites-available/default: 確保IPv4 和IPv6 監聽指令皆未註釋。另外,驗證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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn