Как установить расширение PCNTL в Windows?
Я использую PHPUnit в Windows и пытаюсь установить PHPUnit через composer.json:
"phpunit/php-invoker": "*"
... с этой зависимостью, но я получаю эту ошибку:
phpunit / php-invoker 1.1.3 требует ext-pcntl * -> запрошенное расширение PHP pcntl отсутствует в вашей системе.
Как я могу установить это расширение?
3 ответа
Вы не можете установить расширение ext-pcntl в Windows. Согласно документации PHP:
В настоящее время этот модуль не будет работать на не-Unix платформах (Windows).
Если вы хотите установить PHPUnit, все, что вам нужно, это библиотека PHPUnit:
composer require phpunit/phpunit 4.*
Вам не нужен php-invoker для установки PUPUnit. Но если вам также нужна библиотека php-invoker, вам не повезло. Попробуйте использовать Vagrant или обычную виртуальную машину с дистрибутивами Linux, такими как Ubuntu, Debian или Mint.
Если вы работаете в Windows 10 без hometead, вы можете включить подсистему 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 и горизонт, которые не работают на окнах.
Это хорошее легкое решение
Вы можете рассмотреть возможность использования:--ignore-platform-reqs ext-pcntl
при установке через команды.
Дополнительная информация находится на Laravel Horizon, ext-pcntl и Windows .