web-dev-qa-db-ja.com

「laravel / horizo​​n v1.1.0にはext-pcntlが必要*->要求されたPHP拡張pcntlがシステムにありません」を解決するにはどうすればよいですか?

コマンドプロンプトで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.

このエラーを解決するにはどうすればよいですか?

19
Success Man

composerを--ignore-platform-reqsオプションで実行し、pcntlおよびposixを指定します

composer install --ignore-platform-reqs
34
user320487

受け入れられた答えによると、これをcomposer.jsonに追加して、常に--ignore-platform-reqsを実行する必要がないようにすることができます。

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

pcntl拡張子はWindowsではサポートされていません。 (XAMPP情報に基づいて)

laravel/horizo​​n ページ #131#78 でこれらのgithubの問題を参照してください。

Windowsシステムで Laravel Homestead を使用することをお勧めします。セットアップは簡単で、将来的には同様の問題の多くからあなたを救うでしょう。

6
Sapnesh Naik

このように地平線をインストールします:

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

その後、実行します

php artisan horizon:install
3
Saurabh Mistry

7.1ではなくPHP 7.2をインストールしましたが、すべて正常に動作します。 pcntlは7.1には存在しなかったようですが、php 7.2でインストールされています。

2
Roland Allla

次を実行してください:

composer install --ignore-platform-reqs

注:pcntlはWindowsではサポートされていません

2
Trey Copeland

Homesteadを使用せずにWindows 10で実行している場合は、Linuxサブシステムを有効にして、それを使用して水平線を実行できます。

https://www.windowscentral.com/how-install-bash-Shell-command-line-windows-1

次に、要件をインストールします

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 envoyも実行できますが、これはWindowsでは機能しません。

それは素敵な軽量ソリューションです

0
FloatingKiwi

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
0
Patrick.SE