码迷,mamicode.com
首页 > Web开发 > 详细

PHP异步并行网络扩展swoole安装

时间:2014-11-05 22:47:12      阅读:430      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   io   color   ar   os   使用   

最近想用PHP写一个聊天网站,于是注意到了swoole这个扩展,看上它就是因为事件驱动异步非阻塞。

Swoole可以广泛应用于互联网、移动通信、企业软件、网络游戏、物联网、车联网、智能家庭等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。

Swoole底层内置了异步非阻塞、多线程的网络IO服务器。PHP程序员仅需处理事件回调即可,无需关心底层。与Nginx/Tornado/Node.js等全异步的框架不同,Swoole既支持全异步,也支持同步。

Swoole是开源免费的自由软件,授权协议是Apache2.0。企业和开发者均可免费使用Swoole的代码,并且在Swoole之上所作的修改可用于商业产品,无需开源。

以上这段话摘自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

再次执行安装命令,接下来又提示我编译错误, bubuko.com,布布扣

缺少pcre.h ,于是

sudo apt-get install libpcre3 libpcre3-dev

再次执行安装命令,终于

bubuko.com,布布扣

于是按照提示,在php.ini添加extension=swoole.so

输入php –m 得到以下结果

bubuko.com,布布扣

恭喜你,安装成功了。

 

可以新建一个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”端口。

PHP异步并行网络扩展swoole安装

标签:des   style   blog   http   io   color   ar   os   使用   

原文地址:http://www.cnblogs.com/maplecumt/p/4077419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!