Laravel配置Redis时遇「Redis connection [redis]未配置」错误求助
解决Redis connection [redis] not configured. 错误
嘿,我帮你排查下这个问题——你遇到的错误大概率是因为Session配置没指定正确的Redis连接名,或者Redis配置结构和Laravel的预期不匹配。咱们一步步来解决:
1. 给Session指定正确的Redis连接
你只在session.php里设置了驱动为redis,但没告诉它要用哪个Redis连接。默认情况下Laravel会找名为redis的连接,但你的Redis配置是放在clusters下的default集群,根本没这个redis连接项。
打开config/session.php,添加一行连接配置:
'driver' => env('SESSION_DRIVER', 'redis'), // 新增这行,指定用Redis集群里的default连接 'connection' => 'default',
2. 确认Redis配置结构的正确性
你的Redis配置用了集群模式,但Laravel的Redis管理器在解析连接时,需要配置结构符合预期。如果你的集群只有一个节点,其实可以简化成单节点配置(这样更不容易踩坑);要是确实需要集群,也要确保结构完整:
修改config/database.php里的Redis配置:
'redis' => [ 'client' => 'predis', // 可选:如果需要单节点连接,就加这个(方便其他地方调用) 'default' => [ 'host' => env('REDIS_HOST', '10.21.7.28'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => 0, 'read_write_timeout' => 60, ], // 你的集群配置 'clusters' => [ 'default' => [ [ 'host' => env('REDIS_HOST', '10.21.7.28'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => 0, 'read_write_timeout' => 60, ], ], ], ],
3. 别忘了清除配置缓存
修改完配置后,一定要清掉Laravel的配置缓存,不然旧配置还会生效:
php artisan config:clear
要是生产环境,清完后可以再执行php artisan config:cache重新生成缓存,提升性能。
4. 测试下Redis连接是否正常
咱们可以用Artisan Tinker快速验证:
php artisan tinker
然后在tinker里执行:
Redis::connection('default')->ping();
如果返回PONG,说明连接没问题了。
按照这几步操作,应该就能解决这个连接错误啦。
内容的提问来源于stack exchange,提问作者Dixon Chaudhary
相关产品推荐
相关产品推荐

