首頁 > 後端開發 > PHP問題 > mac nginx解析不了php檔案怎麼辦

mac nginx解析不了php檔案怎麼辦

PHPz
發布: 2023-04-11 13:57:29
原創
727 人瀏覽過

Mac上使用Nginx建構Web伺服器是一個常見的操作,但有時候會遇到Nginx無法解析PHP檔案的問題。這種情況下,存取PHP檔案時會直接下載而非解析執行,造成Web開發不便。

本文將介紹在Mac上使用Nginx建置Web伺服器時,遇到Nginx無法解析PHP檔案的問題該如何解決。主要包括以下幾個面向:

  1. 原因分析
  2. 解決方法
  3. #原因分析

Nginx預設不支援PHP解析,需使用PHP-FPM配合實現PHP解析。 PHP-FPM啟動後與Nginx建立Socket連接,將請求轉送到PHP-FPM進程處理,PHP-FPM再將處理結果傳回給Nginx,Nginx最終將結果傳回給客戶端。

因此,Nginx無法解析PHP檔案的原因可能有以下幾種:

  1. #沒有安裝PHP-FPM
  2. PHP-FPM未啟動
  3. #Nginx設定檔中未配置PHP解析
  4. 解決方法

對於以上原因,分別採取以下方法來解決。

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
登入後複製
啟動後,可以使用下列指令檢查PHP-FPM是否啟動成功:

ps aux | grep php-fpm
登入後複製
如果顯示類似以下訊息,則表示PHP-FPM啟動成功:

_www           49202   0.0  0.7  5871400  11664   ??  S    11:42上午   0:00.03 php-fpm: pool www
登入後複製
2.3 設定Nginx

在Nginx設定檔中新增PHP解析配置,可以在server段中加入以下內容:

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;
}
登入後複製
解析說明:

  • location ~ \.php$:表示符合所有以.php結尾的請求
  • fastcgi_pass   127.0.0.1:9000;:表示將請求轉送至PHP-FPM進程處理,此處連接埠號碼應與PHP-FPM進程啟動時所使用的連接埠號碼保持一致
  • fastcgi_index  index.php;:表示當請求目錄下沒有指定檔案時,預設使用index.php作為入口檔案
  • fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; :表示將請求檔完整路徑傳遞給PHP-FPM進程,其中$document_root表示Nginx配置的Web根目錄,$fastcgi_script_name表示請求的完整路徑(不包含網域名稱和參數)
  • include        fastcgi_params;:表示引入FastCGI參數設定文件,其中包含一些與FastCGI相關的參數配置。
設定完成後,可以使用以下指令重新載入Nginx設定:

sudo nginx -s reload
登入後複製
以上就是在Mac上使用Nginx建構Web伺服器時,解決Nginx無法解析PHP檔案的方法。希望本文對你有幫助。

以上是mac nginx解析不了php檔案怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板