swoole 安装方法

Posted 菜鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swoole 安装方法相关的知识,希望对你有一定的参考价值。

最近想用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

再次执行安装命令,接下来又提示我编译错误, BaiduShurufa_2014-11-5_15-59-36

缺少pcre.h ,于是

sudo apt-get install libpcre3 libpcre3-dev

再次执行安装命令,终于

image

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

输入php –m 得到以下结果

image

恭喜你,安装成功了。

 

可以新建一个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 安装方法的主要内容,如果未能解决你的问题,请参考以下文章

php安装swoole扩展

macOS Big Sur下pecl安装swoole报需要openssl库解决方法

php代码在WSL系统上运行swoole 扩展.还需要安装搭建服务器吗?

swoole新手教程01-环境搭建及扩展安装

mac 安装 swoole 可能会出现的错误

centos7 安装php环境和安装swoole