在Windows上安装Laravel Horizo​​n时出错

时间:2017-11-19 05:45:59

标签: php laravel composer-php laravel-horizon

在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。

2 个答案:

答案 0 :(得分:1)

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

PCNTL扩展为Unix风格的流程管理和信令提供API。由于其固有的重点仅在类Unix或类Linux操作系统中可用,因此此扩展不支持documentation中描述的Windows:

  

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

通过此API,Laravel Horizo​​n使用PHP 7.1新增的async signal handling功能来管理队列工作进程。因此,Horizo​​n目前不支持Windows,Windows开发人员需要使用虚拟环境(如Homestead)来安装和运行Horizo​​n。

在撰写本文时,这反映了有关此问题的official position of the Laravel team

答案 1 :(得分:0)

在composer.json中添加“ laravel / horizo​​n”:“ ^ 4.0”,并安装Horizo​​n运行命令

composer install --ignore-platform-reqs

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

php artisan queue:listen --queue=default,horizon