问题标签 [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 回答
219 浏览

php - 在 Docker 中与 PHP Swoole 一起运行 Blackfire 时出现问题

有没有人设法将 Blackfire 与 Swoole 一起使用?我已经尝试设置了几天,但没有成功。

我在 PHP-CLI Swoole Dockerfile 中调用以下脚本:

主管配置:

使用 blackfire curl 时出现错误消息:

0 投票
3 回答
454 浏览

php - 如何在 swoole 上做一个经典的 php exit()?

例如这段代码

在经典的 PHP FPM 上,以前的代码可以正常工作。但是在 PHP+Swoole 上,我们遇到了这个错误

错误是可以理解的。但是,迁移它的最简单方法是什么?

0 投票
0 回答
101 浏览

laravel - 辛烷值:centos 8 上的重新加载不反映更改

在本地(Ubuntu 20.04)上,重新加载运行良好,但在服务器(Centos 8)上,重新加载并没有反映更改。执行 octane:reload 命令后,它显示INFO Application change detected. Restarting workers ...,但更改不受影响。octane:start --watch with chokidar 也没有帮助

0 投票
0 回答
42 浏览

laravel - Laravel swoole 与节点 js 套接字

我需要了解 swoole 与其他实时方式(如 node js、pusher)之间的区别(我知道 pusher 不是免费的,但我的问题基于性能和问题)..etc 如何 swoole 是最快的实时方式,即使没有使用大多数人?

0 投票
2 回答
408 浏览

php - 如何在 Laravel8/PHP8 项目的 Dockerfile 中安装 SWOOLE?

我将构建一个 Laravel 8 应用程序。PHP 语言级别为 PHP8。如何将 Swoole 集成到我的 Dockerfile 中?

其实我是这样尝试的:

但是如果我构建 Dockerfile,它总是会遇到这个错误:

有人有想法吗?如果您需要有关它的更多信息,请告诉我。

问候,曼尼

0 投票
0 回答
41 浏览

php - 在没有 pcntl_signal() 函数的 Swoole 脚本中处理进程信号

我正在实现一个基于 Swoole 模块的 php 并行任务脚本,它作为守护进程工作。

是否可以使用 Swoole 函数而不是 pcntl_signal() 来处理进程信号?

0 投票
1 回答
288 浏览

php - file_get_contents('php://input') 在 Laravel+Octane / Swoole 上不起作用

我正在从 Laravel 8 迁移到Laravel 8 + Octane / Swoole。一切正常,但 php://input总是空的。另外,我检查 $_POST 和 $_SERVER 值。

file_get_contents('php://input')AWS SNS 消息验证器使用。

任何替代阅读php://input

PHP 代码

使用 PHP-FPM

使用辛烷值+Swoole

0 投票
1 回答
160 浏览

php - 如何使用 php 创建套接字 io 服务器?

我想在 lumen 中使用 php 创建一个套接字 io 服务器(我不想使用 nodejs,我必须使用 php 创建)。

我在谷歌搜索并测试了非常多的 php 库,但我找不到使用 php/lumen 创建套接字 io 服务器的好方法。

我试过这些:

  • 拉拉夫·斯沃勒
  • 工人/phpsocket.io

保护你。

0 投票
0 回答
121 浏览

php - 无法为 Octane Swoole 表分配内存

我正在开发基于 Laravel Octane 和 Swoole 的地理地图服务器。服务器是用 Forge 和 DigitalOcean 创建的。一切正常,包括 Octane 路线和 Octane Swoole 表。我可以轻松地从内存中写入和读取数据。但是当我尝试用完整的地理数据集(~1Gb)预填充 Swoole 表时,在成功填充大约 600Mb 后,我总是遇到“无法分配内存”的问题。但是,到目前为止,服务器在 4Gb 中还有超过 1.5Gb 的可用内存。Octane Swoole 表似乎有一个限制,我不知道如何控制。是吗?关于如何解决问题的任何想法?

生产错误:

Swoole\Table::set(): failed to set('z7y71x80'), 无法分配内存 {"exception":"[object] (ErrorException(code: 0): Swoole\Table::set(): failed to设置('z7y71x80'),无法在 /home/forge/map.blitztest.ru/app/Console/Commands/CacheMapTiles.php:64 分配内存)

Octane Swoole 表配置:

0 投票
0 回答
92 浏览

symfony - 发送消息到 swoole 服务器

我目前有一个 swoole websocket 服务器,我通过前端进行通信。所以消息是由前端发送的,在 swoole websocket 服务器中的 onMessage() 方法中受到威胁,服务器向前端发送响应。因为我想做一个 swoole websocket 服务器集群,所以我改变了它的工作方式,现在消息由前面发送,进入 onMessage() 方法,在 rabbitMQ 通道中发送消息,我使用命令(Symfony)启动rabbitMQ 频道上的监听器。这就是我卡住的地方,我试图创建一个 swoole 客户端以将 rabbitMQ 中的消息发送到 swoole 服务器,但它没有进入 onMessage() 方法。

所以问题是:这是一个好方法吗?为什么消息没有进入 onMessage() ?如何识别消息是来自前端还是来自 swoole 客户端?

这是我所做的命令的代码: