最新的swoole-cli已可以支持Windows,手把手带你在windows体验swoole

简介: 想必使用PHP作为开发语言的童鞋应该都听说过swoole,大致都知道swoole是什么.Swoole 使 PHP 开发人员可以编写高性能高并发的 TCP、UDP、Unix Socket、HTTP、 WebSocket 等服务,让 PHP 不再局限于 Web 领域。Swoole4 协程的成熟将 PHP 带入了前所未有的时期, 为性能的提升提供了独一无二的可能性。Swoole 可以广泛应用于互联网、移动通信、云计算、 网络游戏、物联网(IOT)、车联网、智能家居等领域。使用 PHP + Swoole 可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。总的来说Swoole是PHP

前言


网络异常,图片无法展示
|


想必使用PHP作为开发语言的童鞋应该都听说过swoole,大致都知道swoole是什么.

Swoole 使 PHP 开发人员可以编写高性能高并发的 TCP、UDP、Unix Socket、HTTP、 WebSocket 等服务,让 PHP 不再局限于 Web 领域。Swoole4 协程的成熟将 PHP 带入了前所未有的时期, 为性能的提升提供了独一无二的可能性。Swoole 可以广泛应用于互联网、移动通信、云计算、 网络游戏、物联网(IOT)、车联网、智能家居等领域。使用 PHP + Swoole 可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。总的来说Swoole是PHP 协程框架,能够.swoole是由纯 C 语言编写,完美支持PHP语言。可使用Swoole搭建了一个异步服务器,提供异步响应,推送,定时任务等一系列工作。解决PHP语言本身在fpm的场景下每个请求都需要重新加载,对资源消耗过多的问题.


由于swoole仅支持 Linux(2.3.32 以上内核)、FreeBSDMacOS 三种操作系统,以前对windows系统的支持不太好.想要在windows使用swoole,需要安装linux虚拟机或者安装docker,由于docker本身对windows系统的支持也不太友好,所以在windows上的体验极其糟糕.不过我在GitHub上看到最新的swoole已经可以支持windows系统,对于windows服务器的用户来说无疑是个好消息,下面就在windows系统体验一下


安装准备


环境:

  • windows7 64位(注:仅支持64位的系统)
  • cygwin64
  • 下载地址

https://github.com/swoole/swoole-src/releases


网络异常,图片无法展示
|


swoole-cli是免安装的,可直接使用,无需安装任何php相关的软件包,直接下载swoole-cli-cygwin64的可执行程序zip压缩包,然后解压到任意一个目录即可


配置环境变量


解压之后就是配置环境变量

解压之后目录结构如下:


网络异常,图片无法展示
|


将解压后的文件夹下的bin目录路径配置到系统的Path环境变量中。我的路径是G:\swoole-cli-v4.8.11-cygwin64\bin,你需要按照你本机解压后的具体位置配置.


网络异常,图片无法展示
|


查看安装的版本,验证是否安装成功


命令如下:

swoole-cli -v


网络异常,图片无法展示
|


查看swoole的配置


网络异常,图片无法展示
|


查看swoole中的php相关配置


下面查询到的PHP扩展模块是swoole自带的.如果您希望增加扩展到swoole-cli,可以在swoole官方的github主页提交issue

网络异常,图片无法展示
|

安装完成之后体验一下编辑简单的Web服务器.


体验开发简单的web服务器

<?php$http=newSwoole\Http\Server('127.0.0.1', 9991, SWOOLE_BASE);
$http->on('start', function ($server) {
echo"Swoole http server 已启动, 可访问 http://127.0.0.1:9501\n";
});
$http->on('request', function ($request, $response) {
$response->header('Content-Type', 'text/plain');
$response->end('你好,这是我的第一个swoole http web服务器!');
});
$http->start();


on绑定swoole中的动作事件.start是启动一个http服务

运行我们写好的服务器:

swoole-cli webserver.php

网络异常,图片无法展示
|


接着按照命令行提示复制链接到浏览器访问:


网络异常,图片无法展示
|


接着来测试一下websocket,这也是我们平时做实时通讯常用的协议


服务端:ws.php

<?php//创建WebSocket Server对象,监听0.0.0.0:9502端口$ws=newSwoole\WebSocket\Server('0.0.0.0', 9502);
//监听WebSocket连接打开事件$ws->on('Open', function ($ws, $request) {
$ws->push($request->fd, "你好\n".$request->fd);
});
//监听WebSocket消息事件$ws->on('Message', function ($ws, $frame) {
echo"消息: {$frame->data}\n";
$ws->push($frame->fd, "server: {$frame->data}");
});
//监听WebSocket连接关闭事件$ws->on('Close', function ($ws, $fd) {
echo"client-{$fd} 已关闭\n";
});
$ws->start();


客户端:

<html><head><title>测试Websocket</title><style>body { margin: 0; } canvas { width: 100%; height: 100% } </style></head><body><script>varwsServer='ws://127.0.0.1:9502';
varwebsocket=newWebSocket(wsServer);
websocket.onopen=function (evt) {
console.log("Connected to WebSocket server.");
  };
websocket.onclose=function (evt) {
console.log("已断开连接");
  };
websocket.onmessage=function (evt) {
console.log('接收的数据来自: '+evt.data);
  };
websocket.onerror=function (evt, e) {
console.log('错误信息: '+evt.data);
  };
</script></body></html>


打开cmd执行:swoole-cli ws.php,看到如下图没有任何提示说明已经执行成功


网络异常,图片无法展示
|



然后在浏览访问:http://localhost/t3d/ws.html,这个是我的本地连接,需要根据你的实际情况访问,避免错误,务必把使用服务器来运行你的客户段代码,我一共打开两个访问窗口,效果如下:


网络异常,图片无法展示
|
网络异常,图片无法展示
|


总结

swoole的安装跟以前在windows上安装相比,简单了很多,基本无需任何安装操作,下载即可使用,只需配置环境变量.里面自带了php8.1以上的版本,无需自己安装,如果您需要添加扩展到swoole-cli,需要在GitHub上提交issue

目录
相关文章
|
JSON Unix Linux
如何在windows系统下安装swoole(cgywin环境)
如何在windows系统下安装swoole(cgywin环境)
407 0
如何在windows系统下安装swoole(cgywin环境)
|
Linux PHP Docker
Windows下PHP微服务框架Hyperf Swoole开发部署(Docker方式)
Windows下PHP微服务框架Hyperf Swoole开发部署(Docker方式)
847 0
Windows下PHP微服务框架Hyperf Swoole开发部署(Docker方式)
|
4天前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
|
9天前
|
监控 安全 网络安全
Windows Server管理:配置与管理技巧
Windows Server管理:配置与管理技巧
36 3
|
12天前
|
存储 安全 网络安全
Windows Server 本地安全策略
由于广泛使用及历史上存在的漏洞,Windows服务器成为黑客和恶意行为者的主要攻击目标。这些系统通常存储敏感数据并支持关键服务,因此组织需优先缓解风险,保障业务的完整性和连续性。常见的威胁包括勒索软件、拒绝服务攻击、内部威胁、恶意软件感染等。本地安全策略是Windows操作系统中用于管理计算机本地安全性设置的工具,主要包括用户账户策略、安全选项、安全设置等。实施强大的安全措施,如定期补丁更新、网络分段、入侵检测系统、数据加密等,对于加固Windows服务器至关重要。
|
1月前
|
边缘计算 安全 网络安全
|
1月前
|
数据安全/隐私保护 Windows
安装 Windows Server 2019
安装 Windows Server 2019
|
1月前
|
网络协议 Windows
Windows Server 2019 DHCP服务器搭建
Windows Server 2019 DHCP服务器搭建
|
1月前
|
网络协议 定位技术 Windows
Windows Server 2019 DNS服务器搭建
Windows Server 2019 DNS服务器搭建
|
1月前
|
安全 网络协议 数据安全/隐私保护
Windows Server 2019 搭建并加入域
Windows Server 2019 搭建并加入域