Mac下補充PHP開發(fā)環(huán)境

本篇文章涉及到的內容如下

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)境

fastcgi

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以下版本的安裝向導

phpinfo

之后采用編譯安裝方式安裝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驅動也是如此补憾。


參考資料

MAC 下安裝php mongodb 擴展

解決Mac OS編譯安裝時出現 cannot find openssl's 錯誤的問題

php的MongoDB擴展編譯

Nginx+Php-fpm運行原理詳解

mac上PHP版本切換

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市卷员,隨后出現的幾起案子盈匾,更是在濱河造成了極大的恐慌,老刑警劉巖毕骡,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件削饵,死亡現場離奇詭異,居然都是意外死亡未巫,警方通過查閱死者的電腦和手機窿撬,發(fā)現死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叙凡,“玉大人劈伴,你說我怎么就攤上這事∥找” “怎么了跛璧?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長饼拍。 經常有香客問我赡模,道長,這世上最難降的妖魔是什么师抄? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任漓柑,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘辆布。我一直安慰自己瞬矩,他們只是感情好,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布锋玲。 她就那樣靜靜地躺著景用,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惭蹂。 梳的紋絲不亂的頭發(fā)上伞插,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機與錄音盾碗,去河邊找鬼媚污。 笑死,一個胖子當著我的面吹牛廷雅,可吹牛的內容都是我干的耗美。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼航缀,長吁一口氣:“原來是場噩夢啊……” “哼商架!你這毒婦竟也來了?” 一聲冷哼從身側響起芥玉,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蛇摸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后飞傀,有當地人在樹林里發(fā)現了一具尸體皇型,經...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年砸烦,在試婚紗的時候發(fā)現自己被綠了弃鸦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡幢痘,死狀恐怖唬格,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情颜说,我是刑警寧澤购岗,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站门粪,受9級特大地震影響喊积,放射性物質發(fā)生泄漏。R本人自食惡果不足惜玄妈,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一乾吻、第九天 我趴在偏房一處隱蔽的房頂上張望髓梅。 院中可真熱鬧,春花似錦绎签、人聲如沸枯饿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奢方。三九已至,卻和暖如春爸舒,著一層夾襖步出監(jiān)牢的瞬間蟋字,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工碳抄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留愉老,地道東北人。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓剖效,卻偏偏與公主長得像,于是被迫代替她去往敵國和親焰盗。 傳聞我的和親對象是個殘疾皇子璧尸,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內容