我最近按照 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/