Linux下源码包安装Swoole及基本使用操作图文详解
linux  /  管理员 发布于 4年前   391
本文实例讲述了Linux下源码包安装Swoole及基本使用操作。分享给大家供大家参考,具体如下: 下载Swoole PECL扩展源码包:http://pecl.php.net/package/swoole 关于PHP版本依赖选择: 下载好放到/usr/local/src下,解压缩: 准备扩展安装编译环境: 查看php-config位置: 配置:(--with-php-config==后面是你自己的php-config位置) 编译安装: 在php.ini里面加一行 : 使用 php -m 命令查看swoole扩展已经安装成功: 查看phpinfo信息: 【创建TCP服务器】 创建server.php: 启动TCP服务: 查看9501端口已被监听: 使用telnet连接TCP服务,输入hello,服务器返回hello即测试成功: (如果telnet工具没有安装,执行 也可以写一个TCP客户端连接TCP服务器端: 创建tcp_client.php: 启动tcp客户端: 测试结果: 创建udp_server.php: 启动UDP服务: 查看9502端口已被监听: 使用 (如果没有安装netcat监听器,执行 创建http_server.php: 启动服务: (如果9501端口已经被占用查看进程PID,杀死进程:) 浏览器访问主机地址:端口号,得到程序预期结果即测试成功: 创建ws_server.php: 运行程序:(这里还是要确认监听的端口没有被占用,如果被占用查看进程PID,杀死进程) 前端页面js监听:(127.0.0.1改成你的主机地址) 使用谷歌浏览器访问前端页面: 服务器端收到请求信息: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP扩展开发教程》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。tar -zxvf swoole-2.2.0.tgz
phpize
find / -name php-config
./configure --with-php-config=/www/server/php/72/bin/php-config
make && make install
extension = swoole.so
(测试前说明:以下使用的端口,要确认服务器放行,宝塔环境还需要添加安全组规则)on('connect', function ($serv, $fd) { echo "Client: Connect.\n"; }); //监听数据接收事件 $serv->on('receive', function ($serv, $fd, $from_id, $data) { $serv->send($fd, "Server: ".$data); }); //监听连接关闭事件 $serv->on('close', function ($serv, $fd) { echo "Client: Close.\n"; }); //启动服务器 $serv->start();
php server.php
netstat -an | grep 9501
telnet 127.0.0.1 9501
yum install telnet
、yum install telnet-server
)connect("127.0.0.1" ,9501)){echo "连接失败";exit; } //向tcp服务器发送消息 fwrite(STDOUT, "请输入:"); $msg = trim(fgets(STDIN)); $client->send($msg); //接受tcp服务器消息 $result = $client->recv(); echo $result;
php tcp_client.php
【创建UDP服务器】on('Packet', function ($serv, $data, $clientInfo) { $serv->sendto($clientInfo['address'], $clientInfo['port'], "Server ".$data); var_dump($clientInfo); }); //启动服务器 $serv->start();
php udp_server.php
netstat -an | grep 9502
netcat连接UDP服务,
输入hello,服务器返回hello即测试成功(CentOS):nc -u 127.0.0.1 9502
yum install -y nc
)
【创建Web服务器】set([ 'document_root' => '/www/wwwroot/lwsblog', 'enable_static_handler' => true, ]); $http->on('request', function ($request, $response) { var_dump($request->get, $request->post); //设置header $response->header("Content-Type", "text/html; "); //设置cookie $response->cookie("name", "lws", time()+3600); //发送Http响应体,并结束请求处理。 $response->end("
Hello Swoole. #".rand(1000, 9999)."
"); }); $http->start();php http_server.php
lsof -i:9501
kill 9013
【创建WebSocket服务器】set([ 'document_root' => '/www/wwwroot/lwsblog', 'enable_static_handler' => true, ]); //监听WebSocket连接打开事件 $ws->on('open', function ($ws, $request) { var_dump($request->fd, $request->get, $request->server); $ws->push($request->fd, "hello, welcome\n"); }); //监听WebSocket消息事件 $ws->on('message', function ($ws, $frame) { echo "Message: {$frame->data}\n"; $ws->push($frame->fd, "server: {$frame->data}"); }); //监听WebSocket连接关闭事件 $ws->on('close', function ($ws, $fd) { echo "client-{$fd} is closed\n"; }); $ws->start();
php ws_server.php
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号