当前位置: 首页 > 知识库问答 >
问题:

Laravel(phpredis)将无法连接密码(AWS Elasticache)

姜森
2023-03-14

我在AWS Elasticache上有一个Redis 6. x实例。它是集群的,并且具有传输中加密。我还设置了RBAC(在AWS中使用密码的用户)。我能够使用redis-cli进行连接,然后使用AUTH进行授权

但是,当我将密码添加到我的Laravel配置时,我得到了错误:

无法使用任何提供的种子映射集群密钥空间

如果我在Elasticache中删除用户的密码,Laravel连接良好,并且完美地使用了Redis。

这是我的配置。在我的env文件中,密码是正确的,并且由于集群的原因,在默认连接和选项['parameters']键中都添加了密码。

'redis' => [

        'client' => 'phpredis',
        'cluster' => true,

        'clusters' => [
            'default' => [
              [
                'scheme' => 'tls',
                'host' => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', null),
                'port' => env('REDIS_PORT', 6379),
                'database' => 0,
              ],
            ],

            'options' => [
                'cluster' => 'redis',
            ],
        ],


        'options' => [
            'parameters' => [
                'scheme' => 'tls',
                'password' => env('REDIS_PASSWORD', null),
            ],
            'ssl' => ['verify_peer' => false],
            'context' => [],
        ],

    ],

我以前见过这个错误,但它似乎总是发生在坏事发生的时候,而不是告诉我细节。例如,如果我删除了密码,并限制了一些访问权限,如SET或读/写命令,那么我也会遇到同样的错误,因此很难解释错误是什么。


共有1个答案

谢洛城
2023-03-14

您使用的是Laravel 5还是6?

我们的设置与您的类似,但此解决方案似乎只适用于Laravel 6,但当我使用相同的配置时,我会遇到与您在Laravel 5中相同的问题。

'redis' => [
    'client' => 'phpredis',
    'cluster' => true,
    'options' => [
        'cluster' => 'redis',
        'ssl' => ['verify_peer' => false],
        'context' => [],
        'password' => env('REDIS_PASSWORD', null),
        'parameters' => [
            'scheme' => env('REDIS_SCHEME', 'tls'),
        ],
    ],
    'clusters' => [
        'default' =>
            [
                [
                    'host' => env('REDIS_HOST', 'localhost'),
                    'password' => env('REDIS_PASSWORD', null),
                    'port' => env('REDIS_PORT', 6379),
                    'database' => env('REDIS_DATABASE', 0),
                    'persistent' => true,
                ],
            ],
        'options' => [
            'cluster' => 'redis',
        ]
    ],
],

现在要弄清楚如何让我的Laravel 5应用程序工作,(或者我只需要升级我的Laravel应用程序)。

 类似资料:
  • 问题内容: 我只是擦了擦Mac,然后重新安装了El Capitan。我正在努力连接到Mysql。通过Web服务器设置过程,我创建了一个简单的PHP测试文件: 运行它时,出现以下错误: 我以前从未见过来自连接的响应。如果无法连接该如何解决? 编辑 在终端中,我输入了以下命令: 这要求我输入我输入的密码(当前密码)。我现在可以访问mysql命令,但是我尝试执行的任何操作都会导致此错误: 如何使用重置密

  • 本文向大家介绍PHP5.5安装PHPRedis扩展及连接测试方法,包括了PHP5.5安装PHPRedis扩展及连接测试方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP5.5安装PHPRedis扩展及连接测试方法。分享给大家供大家参考,具体如下: phpredis是个人觉得最好的一个php-redis客户端,因为其提供的function与redis的命令基本一致,降低的了学习成本,

  • CORS策略阻止从来源“http://localhost:8080/socket.io/?eio=3&transport=polling&t=mgbuvgw”访问位于“http://localhost:4200”的XMLHttpRequest:请求的资源上没有“Access-Control-Allow-Origin”标头。

  • 我配置了一个无密码的SFTP服务器。我想使用带有用户名和密码的jsch(JAVA)库连接它。我一直在使用以下代码行:- JAVA中的这一行是否会覆盖SSH配置的设置(少密码)? 请注意SFTP服务器使用终端命令SFTP连接良好,没有提示密码。

  • 我在php中使用firebase作为后端,但当我调用“ServiceAccount”的“fromJsonFile”方法时,我得到以下错误: 致命错误:未捕获错误:调用私有方法Kreait\Firebase\Service帐户::fromJsonFile()从上下文"在C:\xampp\htdocs\wordpress\wp-Content\plugins\firebase-connection.p

  • 问题内容: 我已经在RHEL7上安装了ES 7.5和Kibana 7.5,但是在启动Kibana并检查UI后,我看到了错误,“ Kibana服务器尚未准备好。” 检查Kibana日志,我发现它没有正确连接到ES。任何帮助表示赞赏! 这是 journalctl –unit kibana 的输出: Elasticsearch.yml Kibana.yml 另外,当我运行 ss -tunlp | gre