У меня есть фатальная ошибка, когда я пытаюсь просто использовать компонент HttpKernel.
Fatal error: Class 'Symfony\Component\Config\FileLocator' not found in /.../vendor/symfony/http-kernel/Config/FileLocator.php on line 23
Все пакеты были установлены через composer 1.8.x Установка минималистична
PHP5.6
symfony/dependency-injection v3.4.27 Symfony DependencyInjection Component
symfony/event-dispatcher v3.4.27 Symfony EventDispatcher Component
symfony/http-foundation v3.4.27 Symfony HttpFoundation Component
symfony/http-kernel v3.4.27 Symfony HttpKernel Component
symfony/process v3.4.27 Symfony Process Component
symfony/yaml v3.4.27 Symfony Yaml Component
Я не хочу устанавливать весь пакет symfony / symfony.
Дело в том, что symfony / config является зависимостью "require-dev" и, похоже, не установлена.Обычно я понимаю, что установка require-dev обычно устанавливается, когда вы просто запускаете composer install|update
.Очевидно, нет ...
Следуйте приведенному ниже коду
use Symfony\Component\HttpKernel\Kernel as SymfonyKernel;
use Symfony\Component\HttpKernel\Config\FileLocator;
class MyKernel extends SymfonyKernel {
public function boot() {
// ...
$this->iamOnError();
// ...
}
public function iamOnError() {
// @see SymfonyKernel::getContainerLoader
$locator = new FileLocator($this);
}
}
use App\MyKernel;
use Symfony\Component\Debug\Debug;
use Symfony\Component\HttpFoundation\Request;
$kernel = new MyKernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
Мое решение состоит в том, чтобы добавить «symfony / config» в корневой каталог composer.json ... Это своего родастранно ...
Поэтому мой вопрос: почему у меня возникла эта ошибка (я знаю, что symfony / config не установлен) или почему symfony / config не является обязательным требованием в composer.json для symfony?Компонент / http-kernel.