You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel执行queue:listen报错:Undefined array key 'queue'

问题解决:Laravel执行php artisan queue:listen报"Undefined array key 'queue'"错误

以下是针对性的排查和解决步骤:

  • 检查队列核心配置
    打开config/queue.php,找到Redis驱动的配置块,确保存在queue字段并设置了合法的队列名称(比如default):

    'redis' => [
        'driver' => 'redis',
        'connection' => 'default',
        'queue' => 'default', // 此字段必须存在
        'retry_after' => 90,
        'block_for' => null,
    ],
    
  • 验证环境变量配置
    确认.env文件中队列驱动和Redis连接参数正确:

    QUEUE_CONNECTION=redis
    REDIS_HOST=你的Redis服务地址(容器内通常是服务名,比如redis)
    REDIS_PASSWORD=你的Redis密码(无密码则留空)
    REDIS_PORT=6379
    
  • 清除配置缓存
    容器环境容易残留旧配置缓存,执行以下命令刷新:

    php artisan config:clear
    php artisan cache:clear
    
  • 检查Horizon配置(若使用Horizon)
    报错来自Horizon的Redis连接器,打开config/horizon.php,确保环境配置中的队列参数正确:

    'environments' => [
        'production' => [
            'supervisor-1' => [
                'connection' => 'redis',
                'queue' => ['default'], // 需明确指定队列列表
                'balance' => 'auto',
                'processes' => 10,
                'tries' => 3,
            ],
        ],
    ],
    
  • 测试Redis连通性
    在容器内执行命令验证Redis服务是否正常可达:

    php artisan tinker
    > Redis::ping(); // 返回true则表示连接正常
    

错误原因说明

该错误是因为Laravel(或Horizon)尝试读取Redis队列配置中的queue键但未找到,通常是配置文件缺失该字段、旧配置未刷新,或是Horizon的环境队列配置未正确设置导致。

内容的提问来源于stack exchange,提问作者Alireza Amrollahi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 11:49:52