• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Linux下源码包安装Swoole及基本使用操作图文详解

php 搞代码 4年前 (2022-01-01) 31次浏览 已收录 0个评论

这篇文章主要介绍了Linux下源码包安装Swoole及基本使用操作,结合图文形式详细分析了Linux环境下下载、安装Swoole及基本使用相关操作技巧与注意事项,需要的朋友可以参考下

本文实例讲述了Linux下源码包安装Swoole及基本使用操作。分享给大家供大家参考,具体如下:

下载Swoole PECL扩展源码包:http://pecl.php.net/package/swoole

关于PHP版本依赖选择:

下载好放到/usr/local/src下,解压缩:

<code>tar -zxvf swoole-2.2.0.tgz</code>

准备扩展安装编译环境:

<code>phpize</code>

查看php-config位置:

<code>find / -name php-config</code>

配置:(–with-php-config==后面是你自己的php-config位置)

<code>./configure --with-php-config=/www/server/php/72/bin/php-config</code>

编译安装:

<code>make && make install</code>

在php.ini里面加一行 :

<code>extension = swoole.so</code>

使用 php -m 命令查看swoole扩展已经安装成功:

查看phpinfo信息:

(测试前说明:以下使用的端口,要确认服务器放行,宝塔环境还需要添加安全组规则)

【创建TCP服务器】

创建server.php:

 on('connect', function ($serv, $fd) { echo "Client: Connect.\n"; }); //监听数据接收事件 $serv->on('receive', function ($serv, $fd, $from_id, $data) { $serv->send($fd, <b style="color:transparent">来源gao@dai!ma.com搞$代^码网</b>"Server: ".$data); }); //监听连接关闭事件 $serv->on('close', function ($serv, $fd) { echo "Client: Close.\n"; }); //启动服务器 $serv->start(); 

启动TCP服务:

<code>php server.php</code>

查看9501端口已被监听:

<code>netstat -an | grep 9501</code>

使用telnet连接TCP服务,输入hello,服务器返回hello即测试成功:

<code>telnet 127.0.0.1 9501</code>

(如果telnet工具没有安装,执行yum install telnetyum install telnet-server

也可以写一个TCP客户端连接TCP服务器端:

创建tcp_client.php:

 connect("127.0.0.1" ,9501)){ echo "连接失败"; exit; } //向tcp服务器发送消息 fwrite(STDOUT, "请输入:"); $msg = trim(fgets(STDIN)); $client->send($msg); //接受tcp服务器消息 $result = $client->recv(); echo $result;

启动tcp客户端:

<code>php tcp_client.php</code>

测试结果: 

【创建UDP服务器】

创建udp_server.php:

 on('Packet', function ($serv, $data, $clientInfo) { $serv->sendto($clientInfo['address'], $clientInfo['port'], "Server ".$data); var_dump($clientInfo); }); //启动服务器 $serv->start(); 

启动UDP服务:

<code>php udp_server.php</code>

查看9502端口已被监听:

<code>netstat -an | grep 9502</code>

使用netcat连接UDP服务,输入hello,服务器返回hello即测试成功(CentOS):

<code>nc -u 127.0.0.1 9502</code>

 

(如果没有安装netcat监听器,执行yum install -y nc

【创建Web服务器】

创建http_server.php:

 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; charset=utf-8"); //设置cookie $response->cookie("name", "lws", time()+3600); //发送Http响应体,并结束请求处理。 $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>"); }); $http->start();

启动服务:

<code>php http_server.php</code>

(如果9501端口已经被占用查看进程PID,杀死进程:)

<code>lsof -i:9501</code>
<code>kill 9013</code>

浏览器访问主机地址:端口号,得到程序预期结果即测试成功:

【创建WebSocket服务器】

创建ws_server.php:

 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();

运行程序:(这里还是要确认监听的端口没有被占用,如果被占用查看进程PID,杀死进程)

<code>php ws_server.php</code>

前端页面js监听:(127.0.0.1改成你的主机地址)

   <title>WebSocket</title> 

使用谷歌浏览器访问前端页面:

服务器端收到请求信息:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP扩展开发教程》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

以上就是Linux下源码包安装Swoole及基本使用操作图文详解的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux下源码包安装Swoole及基本使用操作图文详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址