wordpress插件中的ReactPHP阻塞过程

问题描述 投票:0回答:1

我想在我的wordpress插件中制作一个websocket服务器。

当我尝试访问该网站时,它会加载很多时间并输出此iis错误:

FastCGI进程超出配置的请求超时

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
php wordpress iis websocket reactphp
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.