Laravel Redis Error


Laravel Redis Error

我最近根据Laravel主网站上的迁移指南将Laravel更新为5.2。

然而,新的predis驱动程序似乎不支持我的Redis服务器;我使用的是Ms Azure内置的Redis Cache,所以我无法访问Redis本身的配置,它们只提供SSl/非SSl-端口、ApiKey和URL。

特别是,无论何时运行

php artisan queue:listen

我得到以下错误:

[Predis'Response'ServerException]  
  NOAUTH Authentication required.

如何解决这个问题?

感谢

在我的测试中,只有当redis passowrd为空或错误时,才会发生这种情况,这将使您的应用程序无法从Azure上的redis服务器进行身份验证。

请仔细检查您在.env文件中设置的redis信息。应该与类似

REDIS_HOST=<your_redis_server_name>.redis.cache.windows.net
REDIS_PASSWORD=<your_reids_base64_encrypted_key_should_end_with_"=">
REDIS_PORT=6379

同时,您可以创建一个简单的测试PHP脚本来验证您的重新划分信息:

$client = new Predis'Client([
    'scheme' => 'tcp',
    'host' => '<your_redis_server_name>.redis.cache.windows.net',
    'port' => 6379,
]);
$client->auth(<your_reids_base64_encrypted_key_should_end_with_"=">);
$client->set('foo', 'bar');
$bar = $client->get('foo');
echo $bar;