Wordpress插件中的ReactPHP阻止过程

时间:2018-09-04 16:28:13

标签: php wordpress iis websocket reactphp

我正在尝试在我的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

1 个答案:

答案 0 :(得分:1)

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

之类的服务。