2018-02-02centOS安装php扩展swoole及案例分析使用(适用于php7)

您现在的位置是: 首页 > PHP技术 > centOS安装php扩展swoole及案例分析使用(适用于php7)

382次阅读


Swoole官方网址:https://www.swoole.com/

官方解释:

Swoole:面向生产环境的 PHP 异步网络通信引擎

使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

一、使用PHP官方提供的pecl命令安装swoole


首先,centOS已经安装了php环境

swoole项目已收录到PHP官方扩展库,除了手工下载编译外,还可以通过PHP官方提供的pecl命令,一键下载安装swoole

pecl install swoole


二、配置php.ini


编译安装成功后,修改php.ini加入

extension=swoole.so

通过php -m或phpinfo()来查看是否成功加载了swoole,如果没有可能是php.ini的路径不对,可以使用php --ini来定位到php.ini的绝对路径。


1.png


三、重启服务


service php-fpm restart
service nginx restart


四、代码测试


服务器端 server.php代码

<?php

$server = new swoole_server("192.168.1.160", 55152);
$server->on('connect', function ($server, $fd){
    echo "Client:Connect.\n";
});
$server->on('receive', function ($server, $fd, $from_id, $data) {
    $server->send($fd, '这里是Swoole: '.$data);
});
$server->on('close', function ($server, $fd) {
    echo "Client: Close.\n";
});
$server->start();


客户端 client.php代码

<?php


$client = new swoole_client(SWOOLE_SOCK_TCP);
if (!$client->connect('192.168.1.160', 55152, -1))
{
    exit("connect failed. Error: {$client->errCode}\n");
}
$client->send("hello world\n");
echo $client->recv();
$client->close();


五、测试上面两个php代码


1、启动服务

[root@localhost ~]# php server.php


2、linux终端 telnet 测试

如果遇到 -bash: telnet: command not found

使用以下命令安装 telnet 

yum list telnet*  # 查看telnet相关的安装包 
yum install telnet-server # 安装telnet服务 
yum install telnet.* # 安装telnet客户端


通过下图,可以看到,可以通过发出会话与服务器端实现对话

3.png


浏览器客户端测试

4.png