Resolving the “ERR Client sent AUTH, but no password is set” Error

启动命令行报错???

Predis\Connection\ConnectionException : AUTH failed: ERR Client sent AUTH, but no password is set [tcp://127.0.0.1:6379]

开始以为是laravel 配置文件 .env 里面没有设置密码 默认为null 导致、

REDIS_HOST=127.0.0.1
REDIS_PASSWORD='' # 给 redis设置密码为空试试
REDIS_PORT=6379

结果还是报错。

原因是Redis服务器没有设置密码,但客户端向其发送了AUTH(authentication,身份验证)请求。
因为 password=”” 时,redis客户端会默认你已经设置了redis的密码,且密码是””(空字符串),就会向redis服务端发送身份验证。所以,为了避免这个问题,当我们使用 laravel 框架的predis扩展时,如果发现 password=”” ,我们将password 设置为null,当 password = null 时,客户端就不会向redis服务端发送身份验证了。
————————————————

REDIS_PASSWORD=null 改成null

搞定。重新启动

发表回复