繁体   English   中英

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

[英]Laravel Redis - artisan cache:clear - Connection refused [unix:/path/.redis/redis.sock]

我已经在我的托管服务器的 Laravel 中配置了 Redis(使用套接字)。 一切正常(我已经测试了从缓存、会话等读取数据),我有一个用于缓存的数据库和另一个用于用户会话的数据库。
但是,当我运行“php artisan cache:clear”时,它显示了错误:
“在 AbstractConnection.php 第 155 行:连接被拒绝 [unix:/path/.redis/redis.sock]”。
当我运行任何使用 Redis 的命令时也会发生此错误,例如“php73 artisan cron:updateForeignPrices”。

.env

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

配置/数据库.php

'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-directory/.redis/redis.sock
用户名和密码:(无)
端口:0
内存:128 MB
WordPress Litespeed 说明:

  1. 在“主机”字段中粘贴面板中的地址,例如:/home/klient.dhosting.pl/dhtutorial/.redis/redis.sock
  2. 在“端口”字段中删除默认值并键入“0”。
  3. 将“用户”和“密码”留空。

似乎在直接使用 Redis 时一切正常,但不是通过控制台。 任何人都知道如何解决它?
在此先感谢,我已经搜索了整个互联网。

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

REDIS_HOST=12.0.0.1
REDIS_PASSWORD=password
REDIS_PORT=6379

设置REDIS_HOST=127.0.0.1或您的主机地址

尝试使用以下配置。

.env

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

'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),
    ]
]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM