php - Laravel Redis 错误

标签 php laravel azure redis laravel-5

我最近按照 Laravel 主网站上的迁移指南将 Laravel 更新到了 5.2。

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

特别是,每当运行

php artisan queue:listen

我收到以下错误:

[Predis\Response\ServerException]  
  NOAUTH Authentication required.

如何解决这个问题?

谢谢

最佳答案

在我的测试中,只有当 redis 密码为空或错误时才会发生这种情况,这将使您的应用程序无法从 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;

关于php - Laravel Redis 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36240454/

相关文章:

php - 如何使用两个提交按钮,并区分使用哪个提交表单?

javascript - Laravel 5.2 和 jQuery 验证 :Trying to get property of Non-Object

javascript - 将 Javascript 代码转换为 php

php - Laravel 和 Paypal

c# - 在同一域中路由 API 项目和 Web 应用程序项目 (Azure)

c# - 在 VS Code 中使用 DAPR 运行带有服务总线触发器的 Azure Function 时出错

javascript - 获取更改时选择输入的值

mysql - 插入多列表 laravel

function - 在指定时间执行 Laravel 函数

azure - 在 Kusto - Azure 数据资源管理器中生成唯一字符串