最新的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环境)
323 0
如何在windows系统下安装swoole(cgywin环境)
|
Linux PHP Docker
Windows下PHP微服务框架Hyperf Swoole开发部署(Docker方式)
Windows下PHP微服务框架Hyperf Swoole开发部署(Docker方式)
678 0
Windows下PHP微服务框架Hyperf Swoole开发部署(Docker方式)
|
2月前
|
安全 数据安全/隐私保护 Windows
解锁安全之门,Windows Server 2019密码修改攻略大揭秘
解锁安全之门,Windows Server 2019密码修改攻略大揭秘
|
2月前
|
存储 安全 网络安全
铁壁如墙-WINDOWS SERVER 2019勒索病毒终极防御指南
铁壁如墙-WINDOWS SERVER 2019勒索病毒终极防御指南
|
2月前
|
网络协议 数据安全/隐私保护 Windows
Windows Server 各版本搭建域控制器实现通过域管理用户(03~19)
Windows Server 各版本搭建域控制器实现通过域管理用户(03~19)
|
2月前
|
存储 数据安全/隐私保护 索引
Windows Server 各版本搭建文件服务器实现共享文件(03~19)
Windows Server 各版本搭建文件服务器实现共享文件(03~19)
|
2月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows Server 2012 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows Server 2012 操作系统保姆级教程(附链接)
|
1天前
|
网络协议 Windows
Windows Server 各版本搭建 DNS 服务器实现域名正反向解析
Windows Server 各版本搭建 DNS 服务器实现域名正反向解析
|
7天前
|
SQL 数据管理 关系型数据库
如何在 Windows 上安装 SQL Server,保姆级教程来了!
在Windows上安装SQL Server的详细步骤包括:从官方下载安装程序(如Developer版),选择自定义安装,指定安装位置(非C盘),接受许可条款,选中Microsoft更新,忽略警告,取消“适用于SQL Server的Azure”选项,仅勾选必要功能(不包括Analysis Services)并更改实例目录至非C盘,选择默认实例和Windows身份验证模式,添加当前用户,最后点击安装并等待完成。安装成功后关闭窗口。后续文章将介绍SSMS的安装。
10 0
|
2月前
|
安全 数据安全/隐私保护 Windows
无远不至的掌控力:探索Windows Server 2019的远程访问绝招
无远不至的掌控力:探索Windows Server 2019的远程访问绝招

热门文章

最新文章