在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。
答案 0 :(得分:1)
此错误表示未安装PCNTL PHP extension,并且Horizon需要提供此扩展的PHP环境。
PCNTL扩展为Unix风格的流程管理和信令提供API。由于其固有的重点仅在类Unix或类Linux操作系统中可用,因此此扩展不支持documentation中描述的Windows:
注意:此扩展程序在Windows平台上不可用。
通过此API,Laravel Horizon使用PHP 7.1新增的async signal handling功能来管理队列工作进程。因此,Horizon目前不支持Windows,Windows开发人员需要使用虚拟环境(如Homestead)来安装和运行Horizon。
在撰写本文时,这反映了有关此问题的official position of the Laravel team。
答案 1 :(得分:0)
在composer.json中添加“ laravel / horizon”:“ ^ 4.0”,并安装Horizon运行命令
composer install --ignore-platform-reqs
要在Windows中启动Horizon,您可以使用命令
php artisan queue:listen --queue=default,horizon