NOAUTH需要身份验证。Laravel + Redis

我收到错误 。我的laravel版本是5.3,我正在使用predis 1.1.1连接redis。

在etc / redis / redis.conf中,我有:

bind 127.0.0.1

requirepass somepassword

在.env文件中

REDIS_HOST=127.0.0.1

REDIS_PASSWORD=somepassword

REDIS_PORT=6379

在config / database.php中,我有:

'redis' => [

'cluster' => false,

'default' => [

'host' => env('REDIS_HOST', '127.0.0.1'),

'password' => env('REDIS_PASSWORD', null),

'port' => env('REDIS_PORT', 6379),

'database' => 0,

],

我通过以下方式连接redis:

self::$_db = \Redis::connection('default');

并像这样使用它:

self::$_db->pipeline(function ($pipe) use ($profile, $time,$type, $id) {

$pipe->zadd(self::getProfileKey($profile, $type), $time, $id);

$pipe->zadd(self::getProfileKey($profile), $time, $type . ':' . $id);

$pipe->zadd(self::getModelKey($type,$id) . '::favoritedBy', $time, $profile->profile_id);

});

因此,当我注释掉requirepass并将密码发送为null时,它可以工作,但NOAUTH Authentication

required.在密码到位后却无法工作并引发错误。我需要根据项目要求输入密码。请帮忙。提前致谢。

回答:

因此,在进行了一些研究之后,我得到了针对该问题的解决方案:

我们需要添加:

'options' => [

'parameters' => ['password' => env('REDIS_PASSWORD', null)],

],

config数组中。请参见下面的完整示例:database.php

'redis' => [

'cluster' => false,

'default' => [

'host' => env('REDIS_HOST', '127.0.0.1'),

'password' => env('REDIS_PASSWORD', null),

'port' => env('REDIS_PORT', 6379),

'database' => 3,

],

'options' => [

'parameters' => ['password' => env('REDIS_PASSWORD', null)],

],

],

在.env文件中:

REDIS_HOST=127.0.0.1

REDIS_PASSWORD=mmdgreat

REDIS_PORT=6379

以上是 NOAUTH需要身份验证。Laravel + Redis 的全部内容, 来源链接: utcz.com/qa/428180.html

回到顶部