swoole 安裝方法
最近想用PHP寫一個聊天網站,於是註意到了swoole這個擴展,看上它就是因為事件驅動異步非阻塞。
Swoole可以廣泛應用於互聯網、移動通信、企業軟件、網絡遊戲、物聯網、車聯網、智能家庭等領域。 使用PHP+Swoole作為網絡通信框架,可以使企業IT研發團隊的效率大大提升,更加專註於開發創新產品。
Swoole底層內置了異步非阻塞、多線程的網絡IO服務器。PHP程序員僅需處理事件回調即可,無需關心底層。與Nginx/Tornado/Node.js等全異步的框架不同,Swoole既支持全異步,也支持同步。
Swoole是開源免費的自由軟件,授權協議是Apache2.0。企業和開發者均可免費使用Swoole的代碼,並且在Swoole之上所作的修改可用於商業產品,無需開源。
- 國內Git鏡像:http://git.oschina.net/matyhtf/swoole.git
- 新手入門教程:https://github.com/LinkedDestiny/swoole-doc
以上這段話摘自swoole官網,http://www.swoole.com/。
以下是我在Debain系統裏的安裝過程。我在Ubuntu14.04裏是按照官方視頻教程的過程,下載源碼並本地編譯完成的,如果有同學想挑戰一下,也可以到http://wiki.swoole.com/wiki/page/230.html去跟著Rango安裝。
swoole僅支持Linux/FreeBSD/Mac,如果你使用的是Windows系統,請安裝一個虛擬機,VirtualBox/VMWare都可以。然後在虛擬機裏安裝Linux。
swoole已經加入到PHP的官方擴展庫中,所以在Linux系統裏只需要執行
pecl install swoole
但是,我在第一次安裝的時候遇到了一個問題,提示我本機沒有安裝phpize,於是
sudo apt-get update sudo apt-get install php5-dev
再次執行安裝命令,接下來又提示我編譯錯誤,
缺少pcre.h ,於是
sudo apt-get install libpcre3 libpcre3-dev
再次執行安裝命令,終於
於是按照提示,在php.ini添加extension=swoole.so
輸入php –m 得到以下結果
恭喜你,安裝成功了。
可以新建一個server.php 的demo測試一下
<?php $serv = new swoole_server("0.0.0.0", 9501); $serv->on(‘connect‘, function ($serv, $fd){ echo "Client:Connect.\n"; }); $serv->on(‘receive‘, function ($serv, $fd, $from_id, $data) { $serv->send($fd, ‘Swoole: ‘.$data); }); $serv->on(‘close‘, function ($serv, $fd) { echo "Client: Close.\n"; }); $serv->start(); ?>
執行 php server.php
新開一個終端,使用telnet連接到你的服務器:
telnet 127.0.0.1 9501 > hello world > Swoole: hello world
如果提示地址沖突,可以更改源代碼中的“9051”端口。
swoole 安裝方法