Mac上使用Nginx建構Web伺服器是一個常見的操作,但有時候會遇到Nginx無法解析PHP檔案的問題。這種情況下,存取PHP檔案時會直接下載而非解析執行,造成Web開發不便。
本文將介紹在Mac上使用Nginx建置Web伺服器時,遇到Nginx無法解析PHP檔案的問題該如何解決。主要包括以下幾個面向:
Nginx預設不支援PHP解析,需使用PHP-FPM配合實現PHP解析。 PHP-FPM啟動後與Nginx建立Socket連接,將請求轉送到PHP-FPM進程處理,PHP-FPM再將處理結果傳回給Nginx,Nginx最終將結果傳回給客戶端。
因此,Nginx無法解析PHP檔案的原因可能有以下幾種:
對於以上原因,分別採取以下方法來解決。
2.1 安裝PHP-FPM
首先需要安裝PHP-FPM,可以使用Homebrew安裝:
brew install php-fpm
安裝完成後,可以使用下列指令檢查是否安裝成功:
php-fpm -v
如果顯示PHP版本訊息,則表示安裝成功。
2.2 啟動PHP-FPM
##安裝PHP-FPM後,需要啟動PHP-FPM進程:sudo php-fpm
ps aux | grep php-fpm
_www 49202 0.0 0.7 5871400 11664 ?? S 11:42上午 0:00.03 php-fpm: pool www
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
:表示符合所有以.php結尾的請求
:表示將請求轉送至PHP-FPM進程處理,此處連接埠號碼應與PHP-FPM進程啟動時所使用的連接埠號碼保持一致
:表示當請求目錄下沒有指定檔案時,預設使用index.php作為入口檔案
:表示將請求檔完整路徑傳遞給PHP-FPM進程,其中$document_root表示Nginx配置的Web根目錄,$fastcgi_script_name表示請求的完整路徑(不包含網域名稱和參數)
:表示引入FastCGI參數設定文件,其中包含一些與FastCGI相關的參數配置。
sudo nginx -s reload
以上是mac nginx解析不了php檔案怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!