nginx/php-fpm 訪問php文件直接下載而不運行


遇到這種問題,首先確認你web服務器配置中的.PHP是不是被指定給FastCGI server處理:

location ~ .php$ {
    fastcgi_pass 127.0.0.1:9000;
}

 

如已配置,那么可能是由於fastcgi_script_name訪問腳本路徑不正確引起的。

尤其是帶有子目錄的情況,比如對於Yii框架而言,路徑通常是project/web

那么如果在URL中訪問 /project/index.php,那么nginx配置中的SCRIPT_NAME會是全路徑:project/index.php

如果你配置中的代碼如下:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

那么實際訪問的文件就是/var/site_root/project/web/project/index.php,這顯然不是我們想要的結果,我們想訪問的是/project/web/index.php。

這些錯誤可以通過查看php-fpm.log(錯誤日志)來跟蹤。

解決方法是修改相應的路徑配置。

 

備注:多個站點使用子目錄配置可參考:

https://rtcamp.com/wordpress-nginx/tutorials/multisite/subdirectories/in-a-subdirectory/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM