Ответ 1
Запустите composer с параметром --ignore-platform-reqs
и укажите pcntl
и posix
composer install --ignore-platform-reqs
Когда я запускаю 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.
Как я могу решить эту ошибку?
Запустите composer с параметром --ignore-platform-reqs
и укажите pcntl
и posix
composer install --ignore-platform-reqs
Согласно принятому ответу, но вы можете добавить его в свой composer.json, чтобы вам не приходилось постоянно запускать --ignore-platform-reqs
"config": {
"platform": {
"ext-pcntl": "7.2",
"ext-posix": "7.2"
}
}
Расширение pcntl
не поддерживается в Windows. (на основе вашей информации XAMPP)
Пожалуйста, смотрите эти проблемы с github на странице laravel/horizon стр. № 131, № 78.
Я предлагаю вам использовать Laravel Homestead в вашей системе Windows, он прост в настройке и избавит вас от многих подобных проблем в будущем.
установить горизонт следующим образом:
composer require laravel/horizon --ignore-platform-reqs
затем беги
php artisan horizon:install
Я установил PHP 7.2 вместо 7.1, и теперь все работает отлично. Похоже, что pcntl отсутствовал в 7.1, но он был установлен с php 7.2.
Просто запустите следующее:
composer install --ignore-platform-reqs
Примечание: pcntl не поддерживается в Windows
Если вы работаете на 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, который не работает на окнах.
Это хорошее легкое решение