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