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?
Exécutez composer avec l'option --ignore-platform-reqs
et spécifiez pcntl
et posix
composer install --ignore-platform-reqs ext-pcntl ext-posix
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"
}
}
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.
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.
installer horizon de cette façon:
composer require laravel/horizon --ignore-platform-reqs
puis courir
php artisan horizon:install
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