问题标签 [swoole]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1090 浏览

php - 未找到“Swoole\MySQL”类

我正在尝试使用PHP 的Swoole MySQL 类的 PHP 项目中 Swoole 的异步 Mysql 客户端,但我得到了

找不到类

执行代码时出错。

下面是我试图执行的代码片段:

我尝试到处搜索,但找不到有关此错误的任何参考。

版本详情

  • PHP 7.3.2
  • Swoole 版本 4.4.3(安装时选择了 Swoole MySQL 是)

来自 phpinfo() 的 Swoole 信息

我错过了什么,请帮忙?

提前致谢!!!

0 投票
2 回答
2723 浏览

php - Docker可以看到image.png文件,但是浏览器中没有图片显示

我正在学习 Docker 和 Swoole。运行一个包含 2 个文件和一个空目录的 Docker 容器。在浏览器中访问 HTTP 服务器时,图像不显示(获取损坏的图像图标)。

我已经尝试了来自外部网页的 PNG,该图像已正确显示。我也试过“docker run -it hello-swoole sh”并确认容器显示

Dockerfile

索引.php

知道为什么 image.png 没有显示吗?

更新 以下工作以显示图像,但随后没有显示任何 HTML。感觉爱德华的答案在这里是正确的,我还没有正确处理所有请求。可以肯定的是,现在这个问题更像是一个 Swoole 问题,而不是 Docker 问题。

0 投票
1 回答
172 浏览

php - 将事件源请求重定向到运行 swoole 的服务器端口

我正在尝试使用 Swoole 改进我的 php 应用程序以获取通知。由于 swoole 在 PHP 的内置服务器中运行,我试图将我的“主机/通知”请求重定向到 Swoole 运行但未成功的端口 9501。我在 .htaccess 中的代码如下:

尝试使用这种方法是否正确,或者由于内置服务器与 Apache 无关,这是不可能的?

提前致谢

0 投票
2 回答
527 浏览

reactphp - 如何向 ReactPHP/Amp/Swoole/etc 发送消息。来自 PHP-FPM?

我正在考虑制作一个工作脚本来处理我的服务器上的异步任务,使用诸如 ReactPHP、Amp 或 Swoole 之类的框架将作为服务永久运行(我还没有在这些框架之间做出选择,所以解决方案涉及任何这些都是有帮助的)。

我的 Web 端点仍将照常由 Apache + PHP-FPM 管理,我希望它们能够将消息发送到永久运行的脚本,以使其知道异步作业已准备好尽快处理。

来自 Web 端点的伪代码:

您通常如何处理从 PHP-FPM 到这些框架中永久运行的脚本的通信?您是否设置了 TCP / Unix Socket 服务器并实现了自己的消息传递协议,或者是否有现成的解决方案来解决这个问题?


注意:如果您想知道,我不打算使用第三方消息队列软件,因为我希望将异步作业存储为数据库事务的一部分(整个事务成功,包括提交待处理作业,或者整个事务被丢弃)。这是我保证不会丢失任何工作。如果在最坏的情况下,无法将消息发送到正在运行的服务,则可能稍后仍会从数据库中检索丢失的作业。

0 投票
2 回答
598 浏览

php - 如何在 swoole(php 的 websocket 扩展)上将消息从 php 发送到浏览器?

这个文件运行我的服务器

我像这样从 cli 运行它:

然后我在浏览器上打开这个文件

我得到这个错误:

127.0.0.1:51180 [500]:GET /send.php - 未捕获的错误:在 /home/ganbatte/Desktop/123/send.php:4 中的 null 上调用成员函数 push()

为什么会这样,我该如何解决?

0 投票
1 回答
730 浏览

laravel - 无法连接到 socket.io laravel swoole

我用 php swoole 服务我的 laravel 应用程序

我总是在控制台中收到此错误

WebSocket 连接到“ws://127.0.0.1:1215/socket.io/?EIO=3&transport=websocket”失败:WebSocket 握手期间出错:意外响应代码:404

0 投票
0 回答
248 浏览

php - PHP Singleton 作为 HTTP 服务器中 HTTP 请求的回调

我想知道是否会有任何同步/并发相关的问题?如果我们使用“Singleton”作为“对请求事件的回调”来提供“请求”事件(在 HTTP Server 中,如 swoole)。换句话说,服务于请求的回调首先创建一个单例对象(如果它不存在的话。

我在 HTTP 服务器(Swoole)的“请求”事件上创建单例。此外,用于创建单个实例的静态成员还调用(相同)单例对象的非静态成员。这个非静态成员实际上服务于请求。

$http->on('request', 'Bootstrap::getInstance');

//单例

0 投票
0 回答
111 浏览

php - 来自服务器进程计时器的 Swoole 错误 9009 消息,而不是 Worker 进程回调?

我使用 Swoole 作为 WebSocket 服务器。每秒一次,我需要向所有连接的 WS 客户端广播一条消息。

天真的方法:我$server->tick()在启动服务器之前设置了一个服务器计时器:

出现错误:

[2020-05-05 12:23:56 #21985.2] 错误 swServer_tcp_send (ERRNO 9009) 无法将数据发送到主进程中的连接

不是从 Master 而是从 Worker 进程推送 WebSocket 消息的正确方法是什么?

0 投票
1 回答
435 浏览

php - Swoole WebSocket Server - 客户端之间的通信

我试图了解我们应该如何在 Swoole Websocket Server 中管理客户端。

我有从 Swoole\WebSocket\Server 扩展的 MyServer,我将客户端列表存储在一个属性中,但似乎每个客户端都只能看到他自己的列表(其中只有他)。因此,如果客户端 1 发送一条必须重新发送给客户端 2 的消息,我发现的唯一方法是使用 getClientList 方法并将消息发送给所有客户端。

但我也想在他们之间“绑定”客户......就像 1 和 2 一样,3 和 4 和 5 等等。

我使用 APCu(强制进入 CLI 模式)将客户端列表传达给我的所有客户端,但我现在似乎有一些多访问问题。

Swoole Websocket Server 中的“本地”方式不是在我的客户端上存储信息吗?谁可以从任何客户端读取信息?

0 投票
1 回答
105 浏览

php - 不知道如何使用 Swoole 动态加载页面

你好开发者朋友。

我正在尝试使旧网站与 swolle http 服务器一起使用,但我正在堆叠。我按照入门教程进行操作,但找不到前进的方法。

现在我想根据 url 动态加载我的内容(就像我用 apache 服务器做的那样),但找不到如何做到这一点。这是我的旧索引文件

页面内容根据调用 url 加载。

请我需要知道如何克服这个问题。

谢谢大家