1

在 Windows 10 Home Basic 中,安装 Laravel Horizo​​n 时出现以下错误。

我在 Xampp 上运行 PHP 7.1.9 版。

$ composer require laravel/horizon

您的要求无法解决为一组可安装的软件包。

问题 1: - laravel/horizo​​n v1.0.8 需要 ext-pcntl * -> 您的系统中缺少请求的 PHP 扩展 pcntl。

4

3 回答 3

1

此错误表示未安装PCNTL PHP 扩展,并且 Horizo​​n 需要提供此扩展的 PHP 环境。

PCNTL 扩展为 Unix 风格的进程管理和信令提供了一个 API。由于其固有的专注于仅在类 Unix 或类 Linux 操作系统中可用的功能,因此此扩展不支持 Windows,如文档中所述:

注意:此扩展在 Windows 平台上不可用。

通过这个 API,Laravel Horizo​​n 使用 PHP 7.1 新增的异步信号处理特性来管理队列工作进程。为此,Horizo​​n 目前不支持 Windows,Windows 开发者需要使用Homestead等虚拟环境来安装和运行 Horizo​​n。

在撰写本文时,这反映了Laravel 团队对此问题的官方立场。

于 2017-11-21T03:44:46.473 回答
1

在 composer.json 和安装 Horizo​​n 运行命令中添加 "laravel/horizo​​n": "^4.0"

composer install --ignore-platform-reqs

要在 Windows 中启动 Horizo​​n,您可以使用命令

php artisan queue:listen --queue=default,horizon
于 2020-08-20T08:58:51.477 回答
0

转到composer.json和下config,添加这个

"platform": {
        "ext-pcntl": "8.0",
        "ext-posix": "8.0"
 }

所以,从下一次开始,你就不用再使用--ignore-platform-reqs了。

于 2021-11-27T15:07:16.847 回答