web-dev-qa-db-fra.com

Comment résoudre "laravel/horizon v1.1.0 requiert ext-pcntl * -> le PHP extension pcntl est absent de votre système "?

Lorsque j'exécute composer install à l'invite de commande, il existe une erreur comme celle-ci: 

  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.

Comment puis-je résoudre cette erreur?

9
Success Man

Exécutez composer avec l'option --ignore-platform-reqs et spécifiez pcntl et posix

composer install --ignore-platform-reqs ext-pcntl ext-posix
19
user320487

Selon la réponse acceptée, mais vous pouvez l'ajouter à votre composer.json afin que vous n'ayez pas à exécuter --ignore-platform-reqs tout le temps.

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

L'extension pcntl est n'est pas prise en charge sous Windows. (basé sur vos informations XAMPP)

Veuillez consulter ces numéros de github sur laravel/horizon page # 131 , # 78 .

Je vous suggère d'utiliser Laravel Homestead sur votre système Windows, il est facile à installer et vous évitera de nombreux problèmes similaires à l'avenir.

5
Sapnesh Naik

J'ai installé PHP 7.2 au lieu de 7.1 et tout fonctionne correctement maintenant. Il semble que pcntl n'était pas présent en 7.1 mais il est installé avec PHP 7.2.

2
Roland Allla

installer horizon de cette façon: 

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

puis courir 

php artisan horizon:install
0
Saurabh Mistry

Si vous utilisez Windows 10 sans Homestead, vous pouvez activer le sous-système linux et exécuter horizon à travers celui-ci.

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

Puis installez la configuration requise

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

Cela peut aussi faire fonctionner laravel envoy qui ne fonctionne pas sur les fenêtres.

C'est une solution légère et agréable 

0
FloatingKiwi