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