在 Windows 上安装 Laravel Horizon 时出错
Posted
技术标签:
【中文标题】在 Windows 上安装 Laravel Horizon 时出错【英文标题】:Error while installing Laravel Horizon on Windows 【发布时间】:2018-05-02 14:44:01 【问题描述】:在 Windows 10 Home Basic 中安装 Laravel Horizon 时出现以下错误。
我在 Xampp 上运行 php 7.1.9 版。
$ composer require laravel/horizon
您的要求无法解决为一组可安装的软件包。
问题 1:- laravel/horizon v1.0.8 需要 ext-pcntl * -> 您的系统中缺少请求的 PHP 扩展 pcntl。
【问题讨论】:
【参考方案1】:转到composer.json
和config
下,添加此
"platform":
"ext-pcntl": "8.0",
"ext-posix": "8.0"
因此,从下一次开始,您将不再需要使用 --ignore-platform-reqs
。
【讨论】:
【参考方案2】:在 composer.json 和安装 Horizon 运行命令中添加 "laravel/horizon": "^4.0"
composer install --ignore-platform-reqs
要在 windows 中启动 Horizon,您可以使用命令
php artisan queue:listen --queue=default,horizon
【讨论】:
【参考方案3】:此错误表示未安装PCNTL PHP extension,并且 Horizon 需要提供此扩展的 PHP 环境。
PCNTL 扩展为 Unix 风格的进程管理和信令提供 API。由于其固有的专注于仅在类 Unix 或类 Linux 操作系统中可用的功能,因此此扩展不支持 Windows,如 documentation 中所述:
注意:此扩展在 Windows 平台上不可用。
通过这个 API,Laravel Horizon 使用 PHP 7.1 新增的 async signal handling 特性来管理队列工作进程。为此,Horizon目前不支持Windows,Windows开发者需要使用Homestead等虚拟环境来安装和运行Horizon。
在撰写本文时,这反映了 official position of the Laravel team 对此问题的看法。
【讨论】:
以上是关于在 Windows 上安装 Laravel Horizon 时出错的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 上快速安装并运行 Laravel 5.x
无法使用 composer 在 Windows 上安装 laravel,导致错误无法打开 Stream:Permission denied
通过composer和windows 10安装Laravel 5.6之后显示5.5.32 [重复]
如何:在 XAMPP 上安装 Memcache (Windows 7/8/10)