溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mac中nginx不支持php的解決方法

發(fā)布時間:2021-09-18 09:57:03 來源:億速云 閱讀:169 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“mac中nginx不支持php的解決方法”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“mac中nginx不支持php的解決方法”這篇文章吧。

mac nginx不支持php是因為沒有配置PHP,其解決辦法:1、使用homebrew安裝nginx;2、給nginx設(shè)置管理員權(quán)限;3、執(zhí)行命令“brew tap josegonzalez/homebrew-php”安裝PHP即可。

本文操作環(huán)境:macOS10.15系統(tǒng)、PHP5.6版,MacBook Air 2019電腦

mac nginx不支持php怎么辦?

Mac安裝Nginx、配置PHP

之前都是使用Apache和PHP協(xié)同工作的

因為PHP是自學(xué)的,很多不理解的(TP都沒怎么看,也沒用)

最近想使用nginx和php一起寫點東西

因為自己在電腦已經(jīng)安裝完成了,期間遇到了一些問題,趁著現(xiàn)在還有一點印象現(xiàn)在記錄下來,如果以后使用nginx和php開發(fā)的時候可以參照一下

1、在Linux上的時候使用yum安裝軟件,在Mac上的話看到一個homebrew

2、然后我們使用homebrew安裝nginx

一條命令安裝完成:

brew install nginx

然后我們配置一下權(quán)限

1》給nginx 設(shè)置管理員權(quán)限:如果不設(shè)置管理員權(quán)限,80端口是不能監(jiān)聽的

#這里的目錄根據(jù)你實際安裝的目錄來填寫,默認(rèn)是這個目錄,不同的只是nginx的版本號而已
sudo chown root:wheel /usr/local/Cellar/nginx/1.10.1/bin/nginx    
sudo chmod u+s /usr/local/Cellar/nginx/1.10.1/bin/nginx

2》加入launchctl啟動控制

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

3》運行nginx

sudo nginx #打開 nginx
nginx -s reload|reopen|stop|quit  #重新加載配置|重啟|停止|退出 nginx
nginx -t   #測試配置是否有語法錯誤

3、安裝PHP

因為brew 默認(rèn)沒有php的包,所以我們先執(zhí)行下面的命令

brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php

php有好多版本 我們可以使用 brew search php 查看

我的電腦上的就是php5.6,但是我又使用brew安裝了一下,不會影響mac自帶的,因為他會安裝到/usr/local/Cellar的下面

brew install php56

安裝完成之后,為了讓系統(tǒng)能使用我剛剛安裝的版本,需要配置一下

sudo vim ~/.bash_profile

#在這個文件最后添加下列語句:
export PATH="$(brew --prefix php56)/bin:$PATH"

#保存文件后,source下這個文件,使剛剛添加的環(huán)境變量生效
source ~/.bash_profile

完成之后,在終端中可以使用php -v查看版本,就是我剛剛安裝的版本了

加入launchctl啟動控制

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist

php配置文件的路徑如下

/usr/local/etc/php/5.6/php.ini
/usr/local/etc/php/5.6/php-fpm.conf

我當(dāng)時這樣完成之后就去直接使用php測試了

但是nginx服務(wù)是正常的,但是php就是不顯示

原因就是太心急,nginx對于php的設(shè)置還沒有做

nginx配置文件路徑如下

/usr/local/etc/nginx/nginx.conf


打開之后找到下面這一塊

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

解除注釋,重啟nginx之后還是不行,找了一下原因,是因為【/scripts$fastcgi_script_name;】這一句應(yīng)該是【$document_root$fastcgi_script_name;】

然后再重啟nginx就可以訪問php了

記得當(dāng)我啟動php-fpm的時候遇到了一些小問題,問題的內(nèi)容都在終端中顯示了

比如:【/private/etc/php-fpm.conf】這個文件不存,其實在同目錄下有一個后綴為【.default】的文件,我們把這個拷貝一下改為php-fpm.conf就可以了

后邊在執(zhí)行的話,可能會出現(xiàn)error_log路徑不對,默認(rèn)的是在【/usr/var】下面出Log,但是路徑找不到,有兩個解決辦法。

1》提示沒有的文件夾,我們就創(chuàng)建

2》更改剛才的我們拷貝的那個php-fpm.conf文件,找到類似下面的地方

[global]
; Pid file
; Note: the default prefix is /usr/var
; Default Value: none
pid = /usr/local/var/php-fpm/run/php-fpm.pid

; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; in a local file.
; Note: the default prefix is /usr/var
; Default Value: log/php-fpm.log
error_log = /usr/local/var/php-fpm/log/php-fpm.log

pid和error_log之前都是注釋的狀態(tài),我們將它改為自己方便的位置就可以啦

到現(xiàn)在沒有什么其他特別問題的話,nginx和php就可以正常的工作了。

我們可以通過修改nginx.conf和hosts文件,配置自己的訪問域名

以上是“mac中nginx不支持php的解決方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI