您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“mac中nginx不支持php的解決方法”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“mac中nginx不支持php的解決方法”這篇文章吧。
mac nginx不支持php是因為沒有配置PHP,其解決辦法:1、使用homebrew安裝nginx;2、給nginx設置管理員權限;3、執行命令“brew tap josegonzalez/homebrew-php”安裝PHP即可。
本文操作環境:macOS10.15系統、PHP5.6版,MacBook Air 2019電腦
mac nginx不支持php怎么辦?
Mac安裝Nginx、配置PHP
之前都是使用Apache和PHP協同工作的
因為PHP是自學的,很多不理解的(TP都沒怎么看,也沒用)
最近想使用nginx和php一起寫點東西
因為自己在電腦已經安裝完成了,期間遇到了一些問題,趁著現在還有一點印象現在記錄下來,如果以后使用nginx和php開發的時候可以參照一下
1、在Linux上的時候使用yum安裝軟件,在Mac上的話看到一個homebrew
2、然后我們使用homebrew安裝nginx
一條命令安裝完成:
brew install nginx
然后我們配置一下權限
1》給nginx 設置管理員權限:如果不設置管理員權限,80端口是不能監聽的
#這里的目錄根據你實際安裝的目錄來填寫,默認是這個目錄,不同的只是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 默認沒有php的包,所以我們先執行下面的命令
brew tap homebrew/dupes brew tap josegonzalez/homebrew-php
php有好多版本 我們可以使用 brew search php 查看
我的電腦上的就是php5.6,但是我又使用brew安裝了一下,不會影響mac自帶的,因為他會安裝到/usr/local/Cellar的下面
brew install php56
安裝完成之后,為了讓系統能使用我剛剛安裝的版本,需要配置一下
sudo vim ~/.bash_profile #在這個文件最后添加下列語句: export PATH="$(brew --prefix php56)/bin:$PATH" #保存文件后,source下這個文件,使剛剛添加的環境變量生效 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
我當時這樣完成之后就去直接使用php測試了
但是nginx服務是正常的,但是php就是不顯示
原因就是太心急,nginx對于php的設置還沒有做
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;】這一句應該是【$document_root$fastcgi_script_name;】
然后再重啟nginx就可以訪問php了
記得當我啟動php-fpm的時候遇到了一些小問題,問題的內容都在終端中顯示了
比如:【/private/etc/php-fpm.conf】這個文件不存,其實在同目錄下有一個后綴為【.default】的文件,我們把這個拷貝一下改為php-fpm.conf就可以了
后邊在執行的話,可能會出現error_log路徑不對,默認的是在【/usr/var】下面出Log,但是路徑找不到,有兩個解決辦法。
1》提示沒有的文件夾,我們就創建
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之前都是注釋的狀態,我們將它改為自己方便的位置就可以啦
到現在沒有什么其他特別問題的話,nginx和php就可以正常的工作了。
我們可以通過修改nginx.conf和hosts文件,配置自己的訪問域名
以上是“mac中nginx不支持php的解決方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。