遇到這種問題,通常是由於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;
/phpproject.不是我們想要的結果,我們想要存取的是/project/web/index.php。
這些錯誤可以透過查看php-fpm.log(錯誤日誌)來追蹤。
解決方法是修改對應的路徑配置。
備註:多個網站使用子目錄配置可參考:
https://rtcamp.com/wordpress-nginx/tutorials/multisite/subdirectories/in-a-subdirectory/
以上就介紹了nginx/php-fpm 存取php檔案直接下載而不運行,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。