wordpress插件中的ReactPHP阻塞过程

ReactPHP blocking process in wordpress plugin

我正在尝试在我的 wordpress 插件中创建一个 websocket 服务器。

当我尝试访问网站时,它加载了很多时间并输出了这个 iis 错误:

The FastCGI process exceeded configured request timeout

websocket 服务器代码:

$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server('127.0.0.1:9000', $loop);

$socket->on('connection', function (ConnectionInterface $conn) {
    $conn->write("Hello " . $conn->getRemoteAddress() . "!\n");

    $conn->on('data', function ($data) use ($conn) {
        $conn->close();
    });
});

$loop->run();

当我删除这段代码时 ^ 它加载速度很快而且没有错误。

版本:

PHP: 7.2
ReactPHP: ^1.0 
Wordpress: 4.9.2

嗨,这里是 ReactPHP 核心维护者。 运行 包括 websocket 服务器在内的任何套接字服务器都旨在从 CLI 或使用 supervisor/systemd 运行。我的建议是在您的插件中创建这样一个特殊的 cli 命令,您可以调用它来启动它。用 XHR 请求做时髦的魔术很容易出错而且不是很稳定。或者,如果你绝对不能 运行 cli 命令是像 pusher 这样的服务