如何解决“laravel / horizo n v1.1.0需要ext-pcntl * - >系统中缺少所请求的PHP扩展pcntl”?

问题描述 投票:12回答:7

当我在命令提示符下运行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.

我该如何解决这个错误?

php laravel composer-php laravel-5.5 laravel-horizon
7个回答
27
投票

使用--ignore-platform-reqs选项运行composer并指定pcntlposix

composer install --ignore-platform-reqs

18
投票

根据已接受的答案,但您可以将其添加到您的composer.json中,这样您就不必一直运行--ignore-platform-reqs

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

6
投票

Windows不支持pcntl扩展。 (根据您的XAMPP信息)

请参阅laravel/horizon页面#131#78上的这些github问题。

我建议你在你的Windows系统上使用Laravel Homestead,这很容易设置,将来可以避免许多类似的问题。


3
投票

这样安装地平线:

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

然后运行

php artisan horizon:install

2
投票

我安装了PHP 7.2而不是7.1,现在一切正常。似乎pcntl不存在于7.1中,但是它安装了php 7.2。


2
投票

只需运行以下命令:

composer install --ignore-platform-reqs

注意:Windows不支持pcntl


0
投票

如果你在没有家园的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特使,这在Windows上不起作用。

这是一个很好的轻量级解决方案

© www.soinside.com 2019 - 2024. All rights reserved.