Laravel 5.4 使用 Predis 报密码错误的问题

今天架了个 Redis 服务用来做 APP 后台数据缓存,用了 Laravel 推荐的 Predis 做为操作客户端,但一直报错:

`AUTH` failed: ERR Client sent AUTH, but no password is set [tcp://127.0.0.1:6379]

但是我并没有设置密码啊,最后找出来是 Predis 的新版本设置密码的地方已经改了,但是 Laravel 还没有修正过来。

找到 Laravel 中设置 Redis 连接信息的 config/database.php 文件,定位到 Redis 配置那里:

    'redis' => [
        'client' => 'predis',
        'default' => [
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => 0,
        ],
    ],

实际上应该修改为以下方式传递密码(外面多套了一层parameters):

    'redis' => [
        'client' => 'predis',
        'default' => [
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'port' => env('REDIS_PORT', 6379),
            'database' => 0,
            'parameters'=>[
                'password'=>env('REDIS_PASSWORD', '')
            ]
        ],

    ],

想不到吧?其实我也没搞清楚 Predis 为什么要这样改动,但问题解决了就好。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,680评论 19 139
  • 原文链接 必备品 文档:Documentation API:API Reference 视频:Laracasts ...
    layjoy阅读 8,719评论 0 121
  • Redis Redis 官网Redis 中文Redis 入门-以及在php中使用redis 视频在nodejs中使...
    layjoy阅读 640评论 3 4
  • 姐姐家的小人生很多时候都在开锁,每个人身上都有着一把看不见的钥匙。慈悲的人,善良就是钥匙;忠诚的人,忠诚就是钥匙;...
    馥郁馨香阅读 225评论 0 1
  • 绘画这种东西,真的得每天练,很久没画,手生~虽然本来技术就一般。
    十南阅读 257评论 0 4

友情链接更多精彩内容