首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel Redis - artisan缓存:清除连接被拒绝[unix:/path/.redis/redis.sock]

Laravel Redis - artisan缓存:清除连接被拒绝[unix:/path/.redis/redis.sock]
EN

Stack Overflow用户
提问于 2020-09-16 15:31:46
回答 3查看 1.1K关注 0票数 1

我已经在我的主机服务器的Laravel中配置了Redis (使用套接字)。一切正常工作(我测试了从缓存、会话等读取数据),我有一个用于缓存的数据库,另一个用于用户会话。

然而,当我运行“缓存: ”时,它会显示错误:

“在AbstractConnection.php第155行:连接拒绝unix:/path/..redis/redis.sock”。

当我运行任何使用Redis的命令时,也会发生此错误,例如"php73 artisan cron:updateForeignPrice“。

.env

代码语言:javascript
运行
复制
CACHE_DRIVER=redis
SESSION_DRIVER=redis

REDIS_HOST=/path/.redis/redis.sock
REDIS_PASSWORD=null
REDIS_PORT=0
REDIS_CACHE_DB=0
REDIS_SESSION_DB=1

config/database.php

代码语言:javascript
运行
复制
'redis' => [
    'client' => env('REDIS_CLIENT', 'predis'),
    'cluster' => true,

    'options' => [
        'cluster' => env('REDIS_CLUSTER', 'predis'),
        'prefix' => Str::slug(env('APP_NAME'), '_').'_',
        'parameters' => ['password' => env('REDIS_PASSWORD', null)],
    ],

    'default' => [
        'scheme' => 'unix',
        'path' => env('REDIS_HOST'),
        'host' => env('REDIS_HOST'),
        'password' => env('REDIS_PASSWORD'),
        'port' => env('REDIS_PORT'),
        'database' => env('REDIS_CACHE_DB', 0)
    ],

    'cache' => [
        'scheme' => 'unix',
        'path' => env('REDIS_HOST'),
        'host' => env('REDIS_HOST'),
        'password' => env('REDIS_PASSWORD'),
        'port' => env('REDIS_PORT'),
        'database' => env('REDIS_CACHE_DB', 0),
    ],

    'session' => [
        'scheme' => 'unix',
        'path' => env('REDIS_HOST'),
        'host' => env('REDIS_HOST'),
        'password' => env('REDIS_PASSWORD'),
        'port' => env('REDIS_PORT'),
        'database' => env('REDIS_SESSION_DB', 1),
    ]
]

主机服务提供商关于Redis的信息(翻译):

套接字:/path-to my-目录/..redis/redis.sock

用户和密码:(无)

港口:0

内存: 128 MB

关于WordPress语言的说明:

来自面板的“主机”字段粘贴地址中的/home/klient.dhosting.pl/dhtutorial/.redis/redis.sock

  • ,例如:

“端口”字段中的

  1. 移除默认值并键入"0“。

  1. 使“用户”和“密码”为空.

 似乎在直接使用Redis时一切都是正确的,但不是通过控制台。有人知道怎么解决吗?

谢谢,我已经搜遍了整个互联网。

EN

回答 3

Stack Overflow用户

发布于 2020-09-30 09:03:06

REDIS_HOST应该指向承载Redis服务器的地址,无论它是托管在本地机器上还是在云服务上。如下所示:

代码语言:javascript
运行
复制
REDIS_HOST=12.0.0.1
REDIS_PASSWORD=password
REDIS_PORT=6379
票数 1
EN

Stack Overflow用户

发布于 2020-09-28 15:36:57

设置REDIS_HOST=127.0.0.1或主机地址

票数 0
EN

Stack Overflow用户

发布于 2020-10-03 21:13:08

尝试使用以下配置。

.env

代码语言:javascript
运行
复制
CACHE_DRIVER=redis
SESSION_DRIVER=redis

REDIS_SCHEME=unix
REDIS_PATH=/path/.redis/redis.sock

REDIS_CACHE_DB=0
REDIS_SESSION_DB=1

config.database.php

代码语言:javascript
运行
复制
'redis' => [
    'client' => env('REDIS_CLIENT', 'predis'),
    'cluster' => true,

    'options' => [
        'cluster' => env('REDIS_CLUSTER', 'predis'),
        'prefix' => Str::slug(env('APP_NAME'), '_').'_',
        'parameters' => ['password' => null],
    ],

    'default' => [
        'scheme' => env('REDIS_SCHEME'),
        'path' => env('REDIS_PATH'),
        'database' => env('REDIS_CACHE_DB', 0)
    ],

    'cache' => [
        'scheme' => env('REDIS_SCHEME'),
        'path' => env('REDIS_PATH'),
        'database' => env('REDIS_CACHE_DB', 0),
    ],

    'session' => [
        'scheme' => env('REDIS_SCHEME'),
        'path' => env('REDIS_PATH'),
        'database' => env('REDIS_SESSION_DB', 1),
    ]
]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63923392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档