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

Laravel7出现Predis\Connection\ConnectionException报错该如何解决?

Laravel 7 Redis连接报错排查方案

排查解决步骤

  • 第一步:清理Laravel配置缓存
    Laravel 会将生产环境的配置缓存到bootstrap/cache/config.php,修改.env后不会自动生效,执行以下命令清理缓存:
    php artisan config:clear
    php artisan cache:clear
    
    如果你开启了队列服务,需要额外执行php artisan queue:restart重启队列Worker,队列进程启动时会加载一次配置,运行过程中不会读取更新后的配置。
  • 第二步:核对全局Redis相关配置
    1. 打开config/database.php,找到redis配置块,确认port字段是否正确读取.env配置,正确写法应为'port' => env('REDIS_PORT', 6379),,如果此处硬编码为6037,修改为读取env的写法即可解决端口不一致的问题。
    2. 检查.env中以下三个核心配置项,哪怕你没有手动调用Redis类,只要这三个配置设为redis,Laravel内置功能就会自动触发Redis连接:
      • CACHE_DRIVER:缓存驱动
      • SESSION_DRIVER:会话驱动
      • QUEUE_CONNECTION:队列驱动
  • 第三步:不需要使用Redis的快速解决方法
    直接将上述三个配置项修改为非Redis驱动即可彻底关闭Redis连接逻辑:
    CACHE_DRIVER=file
    SESSION_DRIVER=file
    QUEUE_CONNECTION=sync
    
    修改后再次执行php artisan config:clear生效。
  • 第四步:需要使用Redis的排查点
    如果你确实需要使用Redis,执行以下检查:
    1. 确认Redis服务实际监听端口,Redis默认端口为6379,如果你要使用9999端口需要修改redis.conf中的port配置为9999,再重启Redis服务
    2. 确认Redis服务已正常启动,且没有防火墙规则拦截对应端口的本地访问
    3. 如果你使用Docker环境,需要将REDIS_HOST修改为Redis容器的服务名,不能填127.0.0.1

内容的提问来源于stack exchange,提问作者Nabeel Siddiqui

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:24:04