Liunx 服务器上编译安装swool扩展和Swoole简单实现RPC原理

2 篇文章 0 订阅

之前一直使用的是Workerman ,网上看Swool性能不错,觉得学习一下

编译安装swool

一、说明

1、操作系统:CentOS
2、php安装目录:/data/app/php
3、php.ini配置文件路径:/data/app/php/etc/php.ini

二、安装

# 1、下载swool,
cd /data/app/
git clone https://gitee.com/swoole/swoole.git

# 2、进入swoole目录
cd /data/app/swoole/

# 编译swoole
/data/app/php/bin/phpize
./configure --with-php-config=/data/app/php/bin/php-config
make && make install

给php支持打swool模块,vim /dta/app/php/etc/php.ini 添加

vim /dta/app/php/etc/php.ini
# 添加
extension=swoole.so

重启php-fpm

在phpinfo页面可以看到关于swoole的选项,说明安装成功。

service php-fpm restart

在这里插入图片描述

swoole 简单示例

新建server.php

<?php
//创建tcp服务
$serv = new swoole_server('127.0.0.1', 8888);
$serv->set(array('worker_num' => 2));
$serv->on("receive", function ($serv, $fd, $from_id, $data) {
    //$data 接受客户端发送的数据
    echo $data;
    $data = json_decode($data, true);
    //给客户端发送数据
    $serv->send($fd, json_encode(['data' => $data]));
});
$serv->start(); 

新建client.php

<?php
//客户端:
$cli = new swoole_client(SWOOLE_SOCK_TCP);
$cli->connect('127.0.0.1', 8888);
$data=json_encode(['name'=>'wzb','mes'=>'hello word']);
$cli->send($data);
$result=$cli->recv();//接收消息
$cli->close();
var_dump($result); 

启动swoole的server服务

nohup php server.php user >/dev/null 2>&1 &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值