Ошибка при установке Laravel Horizon в Windows
В Windows 10 Home Basic я получаю следующую ошибку при установке Laravel Horizon.
У меня PHP версии 7.1.9 работает на Xampp.
$ composer require laravel/horizon
Ваши требования не могут быть разрешены для устанавливаемого набора пакетов.
Проблема 1: - laravel/horizon v1.0.8 требует ext-pcntl * -> запрашиваемое расширение PHP pcntl отсутствует в вашей системе.
3 ответа
Добавьте "laravel/horizon": "^4.0" в composer.json и для установки Horizon выполните команду
composer install --ignore-platform-reqs
Для запуска Horizon в windows вы можете использовать команду
php artisan queue:listen --queue=default,horizon
Эта ошибка указывает на то, что расширение PCNTL PHP не установлено, и что Horizon требуется среда PHP, которая предоставляет это расширение.
Расширение PCNTL предоставляет API для управления процессами и сигнализации в стиле Unix. Из-за того, что он изначально ориентирован на средства, доступные только в Unix- или Linux-подобных операционных системах, это расширение не поддерживает Windows, как описано в документации:
Примечание. Это расширение недоступно на платформах Windows.
Из этого API Laravel Horizon использует функцию асинхронной обработки сигналов, которая является новой для PHP 7.1, для управления рабочими процессами в очереди. По этой причине Horizon в настоящее время не поддерживает Windows, и разработчики Windows должны использовать виртуальную среду, такую как Homestead, для установки и запуска Horizon.
На момент написания статьи это отражало официальную позицию команды Laravel по этому вопросу.
Перейти к
composer.json
и под
config
, Добавь это
"platform": {
"ext-pcntl": "8.0",
"ext-posix": "8.0"
}
Так что в следующий раз вам не придется использовать
--ignore-platform-reqs
больше.