我在Windows中运行PHPUnit并尝试通过 composer.json 安装PHPUnit:
"phpunit/php-invoker": "*"
...有了这种依赖关系,但我收到了这个错误:
phpunit / php-invoker 1.1.3需要ext-pcntl * - >系统中缺少所请求的PHP扩展名pcntl。
如何安装此扩展程序?
答案 0 :(得分:15)
您无法在Windows上安装ext-pcntl扩展程序。根据PHP文档:
目前,该模块不能在非Unix平台上运行 (视窗)。
如果你想安装PHPUnit,你只需要PHPUnit库:
composer require phpunit/phpunit 4.*
您不需要php-invoker来安装PUPUnit。但如果你还需要php-invoker库,那你就不走运了。尝试使用Vagrant或普通虚拟机与Linux发行版,如Ubuntu,Debian或Mint。
答案 1 :(得分:2)
如果您在没有Homestead的Windows 10上运行,则可以启用linux子系统并通过该子系统运行代码。
https://www.windowscentral.com/how-install-bash-shell-command-line-windows-10
然后安装要求
sudo apt安装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上不起作用。
这是一个不错的轻量级解决方案