Laravel:Redis无法建立连接:[tcp://127.0.0.1:6379]

Gam*_*mer 14 php redis laravel

我通过添加laravel安装了redis "predis/predis":"~1.0",

然后为了测试我添加了以下代码:

public function showRedis($id = 1)
   {
      $user = Redis::get('user:profile:'.$id);
      Xdd($user);
   } 
Run Code Online (Sandbox Code Playgroud)

在app/config/database.php我有:

'redis' => [
        'cluster' => false,
        'default' => [
            'host' => env('REDIS_HOST', 'localhost'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => 0,
        ],

    ],
Run Code Online (Sandbox Code Playgroud)

它会引发以下错误: No connection could be made because the target machine actively refused it. [tcp://127.0.0.1:6379]

virtualhost用于该项目.用Xampp with windows.

Shr*_*nth 15

我在 Ubuntu 18.04 中遇到了这个问题

我在本地系统中安装了redis,解决了。

须藤 apt-get 安装 redis-server


lps*_*lps 8

首先确保Redis实际上是通过打开powershell并键入来侦听该端口netstat -aon | more(此命令可能需要在功能中启用或以某种方式安装).如果正在侦听,请检查防火墙设置.如果没有监听,请确保Redis已启动并配置为侦听该端口.

它看起来predis/predis只是一个客户端库.请参阅https://packagist.org/packages/predis/predis.

您需要安装Redis服务器,但看起来它在Windows上不受官方支持.见http://redis.io/download.根据该页面上的信息,看起来Redis的Win64端口位于https://github.com/MSOpenTech/redis.

如果在此之后它仍无效,请使用您看到的新错误更新您的问题.


小智 5

M1 上 macbook pro 的解决方案:
替换:

REDIS_HOST=127.0.0.1
Run Code Online (Sandbox Code Playgroud)

和:

REDIS_HOST=host.docker.internal
Run Code Online (Sandbox Code Playgroud)