之前一直使用的是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 &