Ошибка при установке 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больше.

Другие вопросы по тегам