如何在 Windows 上安装 PCNTL 扩展?

问题描述 投票:0回答:4

我正在 Windows 中运行 PHPUnit 并尝试通过 composer.json 安装 PHPUnit:

"phpunit/php-invoker": "*"

...具有这种依赖性,但我收到此错误:

phpunit/php-invoker 1.1.3 需要 ext-pcntl * -> 您的系统中缺少请求的 PHP 扩展 pcntl。

如何安装此扩展?

windows phpunit pcntl
4个回答
19
投票

您无法在 Windows 上安装 ext-pcntl 扩展。根据 PHP 文档:

目前该模块无法在非 Unix 平台上运行 (Windows)。

如果你想安装PHPUnit,你只需要PHPUnit库:

composer require phpunit/phpunit 4.*

您不需要 php-invoker 来安装 PHPUnit。但如果您还需要 php-invoker 库,那么您就不走运了。尝试使用 Vagrant 或带有 Linux 发行版的普通虚拟机,例如 UbuntuDebianLinux Mint


8
投票

如果您在没有 Laravel Homestead 的 Windows 10 上运行,您可以启用 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

这也可以运行无法在 Windows 上运行的 Laravel Envoy 和 Horizon。

这是一个很好的轻量级解决方案。


2
投票

通过命令安装时,您可以考虑使用:

--ignore-platform-reqs ext-pcntl

更多信息请访问 Laravel Horizon、ext-pcntl 和 Windows


0
投票

仅此命令帮助我更新了作曲家

composer update --ignore-platform-reqs

这些

pcntl
posix
扩展适用于
UNIX
之类的系统

© www.soinside.com 2019 - 2024. All rights reserved.