php - 未捕获的错误:找不到类“React\React\EventLoop\Factory”
问题描述
当我运行时,php server.php
我收到以下错误:
致命错误:未捕获的错误:在 C:\xampp\htdocs\socket\server.php:7 中找不到类 'React\React\EventLoop\Factory'
我用 composer 抓取 composer require react/socket:^1.3 需要 autoload.php
use React\Http\Server;
require 'vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$connector = new React\Socket\Connector($loop);
$connector->connect('127.0.0.1:8080')->then(function (React\Socket\ConnectionInterface $connection) use ($loop) {
$connection->pipe(new React\Stream\WritableResourceStream(STDOUT, $loop));
$connection->write("Hello World!\n");
});
$loop->run();
解决方案
嗨,我也有类似的问题,首先,尝试使用这些命令composer require react/event-loop或composer require react/event-loop:^1.1安装事件循环包,然后尝试使用composer update命令。
1.你的作曲家在安装完所有的包后最终应该会喜欢这个。
{
"require": {
"react/http": "^0.8.5",
"react/mysql": "^0.5.4",
"nikic/fast-route": "^1.3",
"react/event-loop": "^1.1"
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}
- 您的 index.php 必须看起来像这样
<?php
require('vendor/autoload.php');
use React\Http\Response;
use React\Http\Server;
use React\MySQL\Factory;
$loop = \React\EventLoop\Factory::create();
$hello = function () {
return new Response(200, ['Content-type' => 'text/plain'], 'Hello');
};
$server = new Server($hello);
$socket = new \React\Socket\Server('127.0.0.1:8000', $loop);
$server->listen($socket);
echo 'Listening on ' . str_replace('tcp:', 'http:', $socket->getAddress()) . PHP_EOL;
$loop->run();
然后尝试使用 php index.php 它必须运行。对我来说,它奏效了。希望它可以帮助你!
推荐阅读
- rundeck - 在 Rundeck 上编辑多个作业
- eclipse - 无法从 Eclipse build.bnd 访问 Maven Central
- android - 如何在 ionic 1 中设置意图类型以仅选择 png 和 pdf 文件
- vue.js - 更新 ui 需要 VueJS 页面重新加载
- typescript - 为什么 react-native ts 需要 typescript-transformer 和自定义 rn-cli 配置?
- php - 在每组的 2 行之间选择
- c++ - 变量在析构函数调用中不递增?
- angularjs - AngularJS/MVC 路由 - 尝试多次加载 Angular
- c++ - 当确实需要 ifdef 进行日志记录时
- python - 查找“googlesamples.assistant”规范时出错