最近想用PHP寫一個聊天網站,因而注意到了swoole這個擴展,看上它就是由於事件驅動異步非阻塞。php
Swoole能夠普遍應用於互聯網、移動通訊、企業軟件、網絡遊戲、物聯網、車聯網、智能家庭等領域。 使用PHP+Swoole做爲網絡通訊框架,可使企業IT研發團隊的效率大大提高,更加專一於開發創新產品。html
Swoole底層內置了異步非阻塞、多線程的網絡IO服務器。PHP程序員僅需處理事件回調便可,無需關心底層。與Nginx/Tornado/Node.js等全異步的框架不一樣,Swoole既支持全異步,也支持同步。git
Swoole是開源免費的自由軟件,受權協議是Apache2.0。企業和開發者都可無償使用Swoole的代碼,而且在Swoole之上所做的修改可用於商業產品,無需開源。程序員
以上這段話摘自swoole官網,http://www.swoole.com/。github
如下是我在Debain系統裏的安裝過程。我在Ubuntu14.04裏是按照官方視頻教程的過程,下載源碼並本地編譯完成的,若是有同窗想挑戰一下,也能夠到http://wiki.swoole.com/wiki/page/230.html去跟着Rango安裝。服務器
swoole僅支持Linux/FreeBSD/Mac,若是你使用的是Windows系統,請安裝一個虛擬機,VirtualBox/VMWare均可以。而後在虛擬機裏安裝Linux。
swoole已經加入到PHP的官方擴展庫中,因此在Linux系統裏只須要執行swoole
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」端口。