安裝Swoole - 面向生產環(huán)境的 PHP 異步網絡通信引擎

seoole.jpg

一匀泊、前言

最近由于工作需要优训,將應用里的部分功能需要推送系統(tǒng),發(fā)現(xiàn)PHP的一個擴展插件swoole各聘。由于經驗不足型宙,安裝遇到了不少的坑,決定記錄下來伦吠。

PHP的異步妆兑、并行、高性能網絡通信引擎毛仪,使用純C語言編寫搁嗓,提供了PHP語言的異步多線程服務器,異步TCP/UDP網絡客戶端箱靴,異步MySQL腺逛,異步Redis,數(shù)據庫連接池衡怀,AsyncTask棍矛,消息隊列,毫秒定時器抛杨,異步文件讀寫够委,異步DNS查詢。 Swoole內置了Http/WebSocket服務器端/客戶端怖现、Http2.0服務器端/客戶端茁帽。

Swoole底層內置了異步非阻塞玉罐、多線程的網絡IO服務器。PHP程序員僅需處理事件回調即可潘拨,無需關心底層吊输。與Nginx/Tornado/Node.js等全異步的框架不同,Swoole既支持全異步铁追,也支持同步季蚂。

除了異步IO的支持之外,Swoole為PHP多進程的模式設計了多個并發(fā)數(shù)據結構和IPC通信機制琅束,可以大大簡化多進程并發(fā)編程的工作癣蟋。其中包括了并發(fā)原子計數(shù)器,并發(fā)HashTable狰闪,Channel,Lock濒生,進程間通信IPC等豐富的功能特性埋泵。

Swoole從2.0版本開始支持了內置協(xié)程,可以使用完全同步的代碼實現(xiàn)異步程序罪治。PHP代碼無需額外增加任何關鍵詞丽声,底層自動進行協(xié)程調度,實現(xiàn)異步觉义。

Swoole可以廣泛應用于互聯(lián)網雁社、移動通信、企業(yè)軟件晒骇、網絡游戲霉撵、物聯(lián)網、車聯(lián)網洪囤、智能家庭等領域徒坡。 使用PHP+Swoole作為網絡通信框架,可以使企業(yè)IT研發(fā)團隊的效率大大提升瘤缩,更加專注于開發(fā)創(chuàng)新產品喇完。

二、Linux系統(tǒng)安裝swoole

源碼編譯安裝

(1). 下載你要安裝的軟件包剥啤,解壓得到目錄(如:swoole)

下載地址:

(2). 進入軟件包目錄(cd swoole-src-2.0.12)


(3). 執(zhí)行phpsize命令(/usr/local/php/bin/phpize)

image

注: 此圖為參考圖

(4). 進行配置(./configure --with-php-config=/usr/local/php/bin/php-config #指定安裝在哪個PHP)

注:如果系統(tǒng)缺少phpize命令锦溪,且你使用的是預編譯的RPM包,那么一定要安裝適當?shù)腜HP開發(fā)版本府怯,因為它們一般都包含phpize命令連同合適的頭文件來編譯PHP及其擴展刻诊。

(5). 編譯安裝
  make
  makeinstall

(6). 安裝成功出現(xiàn)如下提示:
image

擴展存放位置:


image

(7). 修改PHP配置文件(vim /usr/local/php/etc/php.ini)
加入:extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/swoole.so";或直接: extension = "swoole.so";(注意前面不要加分號,如果已有extension_dir, 則不需要再寫)
image

(8). 重啟服務器
pkill-9 nginx 牺丙; /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
用phpinfo()在瀏覽器中查看PHP配置清單坏逢,ok, 到此安裝已完成。

PECL安裝
swoole項目已收錄到PHP官方擴展庫,除了手工下載編譯外是整,還可以通過PHP官方提供的pecl命令肖揣,一鍵下載安裝swoole

(1).一行命令就搞定

pecl install swoole

(2).配置php.ini

extension=swoole.so 

注:以上都可以通過php -m或phpinfo()來查看是否成功加載了swoole,如果沒有可能是php.ini的路徑不對浮入,可以使用php -i |grep php.ini來定位到php.ini的絕對路徑龙优。
![image](http://upload-images.jianshu.io/upload_images/2449059-1a46d6a5f9874788.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

三、win安裝swoole

Windows 下安裝 swoole 具體步驟:

Swoole,原本不支持在Windows下安裝的事秀,所以我們要安裝Cygwin來使用彤断。在安裝Cygwin下遇到了很多坑,百度經驗上的文檔不是很全易迹,所以我把自己安裝Cygwin和Swoole寫下來相當于對自己的沉淀吧宰衙。

首先準備工具:

Cygwin 官方地址:http://www.cygwin.com/

swoole 官方下載地址:https://github.com/swoole/swoole-src/releases

下載Swoole和Cygwin
image
下載Cygwin,我的是64位的(注意請檢查自己的版本)
image
image

1、安裝Cygwin

image

選 擇安裝的軟件包睹欲,這里需要安裝gcc供炼、php、php開發(fā)工具窘疮、autoconf袋哼、pcre-devel,其它默認闸衫,這里注意的是涛贯,在上方的搜索欄搜索 后,在下邊找到對應的軟件包選中蔚出,點擊下一步按鈕開始安裝弟翘。(注意:下方的截圖是我安裝后界面,點擊的位置一樣骄酗,后邊的圖標可能不一樣哦)

先在搜索gcc
image
php
image
pcre-devel
image
autoconf
image
最后一直下一步安裝就行
image

2衅胀、安裝Swoole

解壓swoole的源程序到Cygwin的家目錄,打開Cygwin軟件(注意:要是你的Cygwin也安裝在C盤酥筝,那你得注意了滚躯,安裝swoole的時候有可能報錯,解決辦法是右鍵管理員身份打開Cygwin)


image

此時的環(huán)境就好似linux的終端嘿歌,而根目錄就是Cygwin的安裝目錄掸掏,在界面輸入命令:cd /home/swoole-src,其中swool-src是解壓的源程序


image

此時的環(huán)境就好似linux的終端,而根目錄就是Cygwin的安裝目錄宙帝,在界面輸入命令:cd /home/swoole-src,其中swool-src是解壓的源程序
image

輸入命令:phpize丧凤,生成編譯的配置文件configure

image

輸入命令:./configure && make && make install

image

使用命令: php -i | grep php.ini,找到php cli使用的配置文件php.ini的路徑步脓,修改php.ini文件愿待,在文件中添加一行:extension=swoole.so浩螺,然后關閉退出

image

使用命令:php -m,查看加載的模塊,如果看到swoole仍侥,則擴展添加成功要出,到此環(huán)境搭建成功!

image

ok农渊,希望可以幫到大家;减濉!T椅伞传于!如果需要這安裝包或者文件,歡迎關注 醉顽,希望對你有所幫助沼溜,一枚程序員。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末游添,一起剝皮案震驚了整個濱河市系草,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌否淤,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棠隐,死亡現(xiàn)場離奇詭異石抡,居然都是意外死亡,警方通過查閱死者的電腦和手機助泽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門啰扛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嗡贺,你說我怎么就攤上這事隐解。” “怎么了诫睬?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵煞茫,是天一觀的道長。 經常有香客問我摄凡,道長续徽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任亲澡,我火速辦了婚禮钦扭,結果婚禮上,老公的妹妹穿的比我還像新娘床绪。我一直安慰自己客情,他們只是感情好其弊,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著膀斋,像睡著了一般梭伐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上概页,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天籽御,我揣著相機與錄音,去河邊找鬼惰匙。 笑死技掏,一個胖子當著我的面吹牛,可吹牛的內容都是我干的项鬼。 我是一名探鬼主播哑梳,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绘盟!你這毒婦竟也來了鸠真?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤龄毡,失蹤者是張志新(化名)和其女友劉穎吠卷,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沦零,經...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡祭隔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了路操。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疾渴。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖屯仗,靈堂內的尸體忽然破棺而出搞坝,到底是詐尸還是另有隱情,我是刑警寧澤魁袜,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布桩撮,位于F島的核電站,受9級特大地震影響峰弹,放射性物質發(fā)生泄漏距境。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一垮卓、第九天 我趴在偏房一處隱蔽的房頂上張望垫桂。 院中可真熱鬧,春花似錦粟按、人聲如沸诬滩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疼鸟。三九已至后控,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間空镜,已是汗流浹背浩淘。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吴攒,地道東北人张抄。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像洼怔,于是被迫代替她去往敵國和親署惯。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內容