How to install PCNTL extension in Windows?

2019-03-25 05:54发布

I am running PHPUnit in Windows and trying to install PHPUnit via composer.json:

"phpunit/php-invoker": "*"

...with this dependency, but I am getting this error:

phpunit/php-invoker 1.1.3 requires ext-pcntl * -> the requested PHP extension pcntl is missing from your system.

How can I install this extenstion?

2条回答
我只想做你的唯一
2楼-- · 2019-03-25 06:28

If you're running on windows 10 without homestead you can enable the linux subsystem and run your code through that.

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

Then install the requirements

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

This also can run laravel envoy and horizon too which don't work on windows.

It's a nice lightweight solution

查看更多
爱情/是我丢掉的垃圾
3楼-- · 2019-03-25 06:45

You can't install ext-pcntl extension on Windows. Accordingly to the PHP documentation:

Currently, this module will not function on non-Unix platforms (Windows).

If you want to install PHPUnit all you need is the PHPUnit library:

composer require phpunit/phpunit 4.*

You don't need php-invoker to install PUPUnit. But if you also need the php-invoker library you are out of luck. Try using Vagrant or a plain VM with Linux distributions like Ubuntu, Debian or Mint.

查看更多
登录 后发表回答