这个项目是由另一个团队建立的,我无法通过这个错误。使用 PHP 7.2 和 Laravel 6.2。我的docker-compose.yml
:
redis:
image: redis
command: ["redis-server", "--appendonly", "yes","--requirepass","Redis.123"]
volumes:
- redis-data:/data
container_name: redis-master
ports:
- "6379:6379"
和database.php
:
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DB', 0),
],
'cache' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', 1),
],
]
容器已启动并正在运行,并且"已准备好接受连接"。如果我尝试命中基本 url 或任何端点,则此错误在我的堆栈跟踪中。我在app.php
中为 redis 别名:'RedisManager' => IlluminateSupportFacadesRedis::class,
正如其他人建议的那样。任何人都可以看到任何明显缺失或可能导致这种情况的东西吗?Predis 安装在composer.json
:"predis/predis": "^1.1",
中,但未在配置中设置。如果我将 phpredis 更改为 predis,则会收到错误development.ERROR:
选择failed: NOAUTH Authentication required. [tcp://127.0.0.1:6379]
。
当你设置为phpredis
时得到的错误,它很可能与 phpredis 扩展有关。如果要使用客户端phpredis
则需要安装此扩展。
将其设置为predis
时出现的错误完全不同。这是身份验证错误,因为您没有设置密码。在您的.env
文件中,附加此
REDIS_PASSWORD=Redis.123
然后artisan config:clear
,它可以完成工作。
在.end
文件中,请输入您的 redis 容器名称REDIS_HOST=redis-master
。