最近想用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”端口。