当我在命令promp上运行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.1phpphp.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
根据接受的答案,但您可以将其添加到您的 composer.json 中,这样您就不必一直运行--ignore-platform-reqs
"config": {
"platform": {
"ext-pcntl": "8.0",
"ext-posix": "8.0"
}
}
安装 horizon
:composer require laravel/horizon --ignore-platform-reqs
然后运行
php artisan horizon:install
pcntl
扩展在Windows上不受支持。(基于您的XAMPP信息(
请在 laravel/horizon 页面 #131、#78 上查看这些 github 问题。
我建议您在Windows系统上使用Laravel Homestead,它易于设置,将来可以避免许多类似的问题。
如果您使用的是基于 Unix 映像的 docker,则可以使用 docker 实用程序添加它:
docker-php-ext-install pcntl
然后,可以确认此扩展已在容器内安装并启用:
?> php -i | grep pcntl
/usr/local/etc/php/conf.d/docker-php-ext-pcntl.ini,
pcntl
pcntl support => enabled
只需运行以下命令:
composer install --ignore-platform-reqs
注意:在 Windows 上不支持 pcntl
添加此行
RUN docker-php-ext-install pcntl
以前
RUN composer install
我有用
composer require laravel/horizon --ignore-platform-reqs
希望它会有所帮助。
简单地忽略依赖关系的答案是错误的。这不会给你一个工作版本的Horizon或你可能希望安装的任何软件包。必须安装依赖项。
如何安装的示例:
.APK
sudo add php8-pcntl php8-pcntl
百 胜
sudo yum install -y php-pcntl php-posix
如果您使用Windows并遇到该问题 - 您应该忽略它,因为Horizon在没有扩展的情况下工作正常,并且在Windows上不需要它。
所以基本上你必须使用下一个
composer require laravel/horizon --ignore-platform-reqs
祝你好运!
您需要在安装软件包的同时忽略平台要求。
composer require laravel/horizon --ignore-platform-reqs
然后运行
php artisan horizon:install
我已经安装了 PHP 7.2 而不是 7.1,现在一切正常。似乎 pcntl 在 7.1 中不存在,但它与 php 7.2 一起安装。
如果您在没有 homestead 的 Windows 10 上运行,您可以启用 Linux 子系统并通过它运行 Horizon。
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
这也可以运行在Windows上不起作用的laravel特使。
这是一个很好的轻量级解决方案
$composer install --ignore-platform-reqs ext-pcntl
我有一些问题,composer install --ignore-platform-reqs
对我有用
谢谢