本篇文章涉及到的內容如下
Mac中安裝軟件原則
查看PHP版本基礎信息
安裝nginx環(huán)境
配置nginx環(huán)境
安裝擴展
??? redis擴展
??? igbinary擴展
??? mongodb擴展
Mac環(huán)境按照軟件總結
約定
Mac?10.13.6
已經安裝brew 和php5.6
Mac中安裝軟件原則
Mac環(huán)境比較省心的是自帶PHP環(huán)境,不需要從下載源碼編譯安裝開始,但是默認的PHP版本是7.1
基于原有項目兼容問題,生產環(huán)境下以PHP5.6主要版本.我需要安裝兩套環(huán)境。
Mac中安裝軟件的原則是漓雅,優(yōu)先基于Brew工具的包地址安裝,其次考慮peal包地址安裝,最后選取源代碼安裝钧栖。
查看PHP版本基礎信息
首頁終端查看PHP版本
php? -v
查看現有的PHP 模塊
php -m
5.6安裝路徑
/usr/local/etc/php/5.6
配置文件路徑
/usr/local/etc/php/5.6/php.ini
php-fpm 錯誤路徑
/usr/local/var/log/php-fpm.log
安裝nginx環(huán)境
brew nginx install
配置nginx環(huán)境
nginx路徑
/usr/local/etc/nginx
啟動nginx
sudo nginx 這種方式不是后臺啟動,重啟電腦后需要重啟執(zhí)行啟動命令
重啟nginx
?sudo nginx -s reload
sudo /usr/local/bin/nginx ? ??
使用nginx 監(jiān)聽80端口
參照文章 https://blog.csdn.net/buyueliuying/article/details/78588695 解決Mac? root權限造成的監(jiān)聽80端口失效問題婆翔。通過本地9090做了中轉.
啟動nginx服務: 因為需要監(jiān)聽80端口,Mac普通用戶權限啟動不能監(jiān)聽1024以下端口,導致啟動失敗,需要給nginx提高到root權限
ps aux|grep nginx?
執(zhí)行后顯示結果如下
wmm? 52156 0.0 0.0 4374860 1508 ?? S 一10下午 0:00.31 nginx: worker process
root? ? ? ? ? ? ? 736? 0.0? 0.0? 4302924? ? 12? ??? Ss? 27 319? ? 0:00.01 nginx: master process nginx
wmm? ? 34177? 0.0? 0.0? 4267792? 1040 s004? S+? 11:35下午? 0:00.00 grep nginx
說明nginx 是以root用戶啟動的
nginx反向代理
PHP開發(fā)過程中拯杠,使用nginx作為web服務器,我們實際上使用把nginx當作反向代理服務器啃奴。
反向代理(Reverse Proxy)實際運行方式是指以代理服務器來接受internet上的連接請求潭陪,然后將請求轉發(fā)給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器依溯。
php-fpm 啟動相關問題
https://blog.csdn.net/jiaobuchong/article/details/79603045https://blog.csdn.net/ch717828/article/details/46663595
安裝擴展
redis擴展
根據文中參考文檔中下載phpredis安裝包老厌,cd 到phpredis擴展文件夾下執(zhí)行命令
sudo ./configure --with-php-config=/usr/local/opt/php@5.6/bin/php-config
幾個依賴包的PHP源地址
igbinary
http://pecl.php.net/package/igbinary/2.0.5/windows
pecl serarch igbinary
顯示
需要使用sudo 賬戶運行安裝
sudo pecl install igbinary
參考 https://blog.csdn.net/revitalizing/article/details/55053195
mongodb驅動
php 環(huán)境下連接mongodb數據庫驅動有兩套,分別是舊版mongo 和新版驅動mongodb黎炉,對應PHP5.6和PHP7.0及以上枝秤。
原有的項目原因,驅動mongodb主要用于傳統(tǒng)的增刪改查操作慷嗜,mongo驅動主要用于使用聚合進行相關的操作淀弹。
按照PHP官方說明(如下),舊版mongo驅動已經不推薦使用庆械。
This package has been superseded, but is still maintained for bugs and security fixes.
按照資料顯示安裝brew工具包的前提下薇溃,安裝mongodb驅動,只需要brew search mongodb即可.實際上在最新的蘋果操作系統(tǒng)上缭乘,這種方式已經過時了沐序。
搜索結果如下
brew search mongo
brew search mongodb
顯示
并不存在類似 php56-mongo這樣的驅動名稱
原因不詳,有待再研究忿峻,最后找到的方法使用pecl安裝mongodb驅動薄啥,源碼編譯安裝mongo驅動
sudo pecl install mongodb
安裝mongo驅動
至于mongo驅動則采用編譯安裝
編譯安裝
tar zxvf?mongo-1.6.16.tar
phpize
sudo ./configure --with-openssl-dir = /usr/local/Cellar/openssl/1.0.2o_2
php的MongoDB擴展編譯
http://pecl.php.net/package/mongo
安裝Xdebug
首先打開Xdebug官網尋找合適xdebug版本?https://xdebug.org/wizard.php,通過phpinfo信息分析發(fā)現逛尚,網站不支持PHP7以下版本的安裝向導
之后采用編譯安裝方式安裝xdebug
tar zxvf xdebug-2.5.5.tar?
cd??xdebug-2.5.5
phpize
sudo ./configure
sudo make
sudo make install
查看是否安裝成功
查看占用80端口命令
sudo lsof -i tcp:80
卸載默認的httpd服務垄惧,解決80端口被占用,無法啟動nginx
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
重啟PHP
brew services? restart php
總結
使用Mac環(huán)境一段時間了绰寞,總體來說到逊,Mac環(huán)境上的開發(fā)環(huán)境配置會遇到各種問題,解決方式大致是這樣的:
首先 安裝新的開發(fā)軟件滤钱,優(yōu)先使用brew安裝觉壶,借助brew實現軟件包,源地址件缸,和配置文件的管理铜靶,這類軟件包括php7,nginx tomcat他炊,zookeeper等争剿。
其次 brew不支持或者不方便安裝時,嘗試pecl方式安裝方式痊末,比如mongodb驅動擴展蚕苇。再選擇編譯安裝,如mongo驅動凿叠。
最后 再查找資料的過程中涩笤,抱著質疑和不確定思維去參考嚼吞,原因有這么幾點:
1 每篇參考資料都有特定的前置條件,操作系統(tǒng)蹬碧,軟件依賴舱禽,包安裝順序,比如不支持pecl命令锰茉,openssl丟失等呢蔫。
2 聞到有先后切心,術業(yè)有專攻飒筑。對于特定的領域范圍,作者的理解有局限性或者不全面绽昏,造成資料不準確协屡,這種情況很正常。
3 有些資料是有失效性的全谤,官方也會做調整和改善肤晓,比如brew search php 的源就被優(yōu)化了,5.6版本的已經找不到了认然。mongodb驅動也是如此补憾。
參考資料