web-dev-qa-db-fra.com

Comment installer l'extension PCNTL sous Windows?

J'utilise PHPUnit sous Windows et j'essaie d'installer PHPUnit via composer.json :

"phpunit/php-invoker": "*"

... avec cette dépendance, mais j'obtiens cette erreur:

phpunit/php-invoker 1.1.3 requiert ext-pcntl * -> l'extension PHP demandée pcntl est absente de votre système.

Comment puis-je installer cette extension?

11
Yogesh

Vous ne pouvez pas installer l'extension ext-pcntl sous Windows. Conformément à la PHP documentation:

Actuellement, ce module ne fonctionnera pas sur des plateformes autres qu'Unix (Les fenêtres).

Si vous voulez installer PHPUnit, vous n’avez besoin que de la bibliothèque PHPUnit:

composer require phpunit/phpunit 4.*

Vous n'avez pas besoin de php-invoker pour installer PUPUnit. Mais si vous avez également besoin de la bibliothèque php-invoker, vous n'avez pas de chance. Essayez d’utiliser Vagrant ou un simple VM avec des distributions Linux comme Ubuntu, Debian ou Mint.

14
Aleksander Wons

Si vous utilisez Windows 10 sans Homestead, vous pouvez activer le sous-système linux et exécuter votre code par ce biais.

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

Puis installez la configuration requise

Vous devez installer 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

Cela peut également fonctionner émail et horizon Laravel qui ne fonctionnent pas sur les fenêtres.

C'est une solution légère et agréable

1
FloatingKiwi