Как я могу решить "laravel/horizon v1.1.0 требует ext-pcntl * → запрошенное расширение PHP pcntl отсутствует в вашей системе"?

Когда я запускаю composer install в команде promp, существуют такие ошибки:

  Problem 1
    - Installation request for laravel/horizon v1.1.0 -> satisfiable by laravel/horizon[v1.1.0].
    - laravel/horizon v1.1.0 requires ext-pcntl * -> the requested PHP extension pcntl is missing from your system.

  To enable extensions, verify that they are enabled in your .ini files:
    - C:\xampp-7.1\php\php.ini
  You can also run 'php --ini' inside terminal to see which files are used by PHP in CLI mode.

Как я могу решить эту ошибку?

Ответ 1

Запустите composer с параметром --ignore-platform-reqs и укажите pcntl и posix

composer install --ignore-platform-reqs

Ответ 2

Согласно принятому ответу, но вы можете добавить его в свой composer.json, чтобы вам не приходилось постоянно запускать --ignore-platform-reqs

"config": {
  "platform": {
    "ext-pcntl": "7.2",
    "ext-posix": "7.2"
  }
}

Ответ 3

Расширение pcntl не поддерживается в Windows. (на основе вашей информации XAMPP)

Пожалуйста, смотрите эти проблемы с github на странице laravel/horizon стр. № 131, № 78.

Я предлагаю вам использовать Laravel Homestead в вашей системе Windows, он прост в настройке и избавит вас от многих подобных проблем в будущем.

Ответ 4

установить горизонт следующим образом:

composer require laravel/horizon --ignore-platform-reqs

затем беги

php artisan horizon:install

Ответ 5

Я установил PHP 7.2 вместо 7.1, и теперь все работает отлично. Похоже, что pcntl отсутствовал в 7.1, но он был установлен с php 7.2.

Ответ 6

Просто запустите следующее:

composer install --ignore-platform-reqs

Примечание: pcntl не поддерживается в Windows

Ответ 7

Если вы работаете на Windows 10 без усадьбы, вы можете включить подсистему Linux и запустить горизонт через это.

https://www.windowscentral.com/how-install-bash-shell-command-line-windows-10

Затем установите требования

sudo apt install php7.2-fpm php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-cli php7.2-zip php7.2-mysql

Это также может запустить посланника Laravel, который не работает на окнах.

Это хорошее легкое решение