安装 Laravel/horizon 踩过的坑 
                                                    
                        
                    
                    
  
                    
                    报错图:

问题原因
我们简单翻译一下提示信息就可以看到,整体说的是laravel/horizon依赖或者需要ext-pcntl拓展,我们可以在php.ini中修改并使用。这就是大概的意思,但是我去php.ini找了,没有找到。
解决办法
"config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true,
        "platform": {
            "ext-pcntl": "7.2",
            "ext-posix": "7.2"
        }
    },可以看到,我们可以在composer.json文件里面的config里面加上platform配置,楼主运行了一下,完美解决。可是这是为什么呢?
从stackoverflow上找到了答案,该错误表明未安装PCNTL PHP扩展,并且Horizon需要提供此扩展的PHP环境。
PCNTL扩展为Unix风格的进程管理和信令提供了一个API。由于其固有的重点是仅在类似Unix或Linux的操作系统中可用的功能,因此此扩展不支持Windows,如文档中所述:
注意:此扩展名在Windows平台上不可用。
通过此API,Laravel Horizon使用PHP 7.1新增的异步信号处理功能来管理队列工作进程。因此,Horizon当前不支持Windows,Windows开发人员需要使用虚拟环境(例如Homestead)来安装和运行Horizon。
我们加上这两项就可以安装的原因就是我们设置忽略了版本匹配,如果有不对的地方,欢迎大家修改指正。
本作品采用《CC 协议》,转载必须注明作者和本文链接
 
           
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
                     
                     
             
             
             
           
           关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号 
 
推荐文章: