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

c0vxltue  于 2023-04-19  发布在  PHP
关注(0)|答案(5)|浏览(303)

我已经通过添加"predis/predis":"~1.0"安装了redis和laravel,
为了测试,我添加了以下代码:

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

在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,
        ],

    ],

它会抛出以下错误:No connection could be made because the target machine actively refused it. [tcp://127.0.0.1:6379]
我使用virtualhost的项目。使用Xampp with windows

ar5n3qh5

ar5n3qh51#

我在Ubuntu 18.04中遇到了这个问题
我在本地系统里安装了redis,解决了。

sudo apt-get install redis-server
yyhrrdl8

yyhrrdl82#

首先,打开powershell并输入netstat -aon | more(此命令可能需要在功能中启用或以某种方式安装),以确保Redis实际上正在侦听该端口。如果正在侦听,请检查您的防火墙设置。如果没有侦听,请确保Redis已启动并配置为侦听该端口。
看起来predis/predis只是一个客户端库。参见https://packagist.org/packages/predis/predis
您需要安装Redis服务器,但它看起来在Windows上不受官方支持。请参阅http://redis.io/download。根据该页面上的信息,看起来这里有一个Redis的Win64端口https://github.com/MSOpenTech/redis
如果在此之后它仍然不起作用,那么用您看到的新错误更新您的问题。

jm81lzqq

jm81lzqq3#

参比溶液:https://rapidsol.blogspot.com/2018/10/php-fatal-error-uncaught.html
它显示您的服务器不接受外部连接。您需要提供您的redis服务器的ip。

$client = new Predis\Client('tcp://192.168.1.103:6379');
//$client = new Predis\Client();
$client->set('foo', 'bar');
$value = $client->get('foo');
echo $value; exit;

如果问题仍然存在,请尝试以下步骤。
所以你需要编辑:$sudo vi /usr/local/etc/redis.conf
找到行bind127.0.0.1::1并将其更改为#bind 127.0.0.1::1,然后找到行protected-mode yes并将其更改为protected-mode no
然后重启redis服务器

gpfsuwkq

gpfsuwkq4#

如果你使用的是mac,请尝试安装here
检查brew是否已安装

brew --version

安装redis-server

brew install redis

运行服务器

redis-server
ca1c2owp

ca1c2owp5#

如果您使用的是Redis,请确保Redis服务器已启动并运行,默认情况下Redis运行在6379端口。
如果你在本地环境下重启机器,有时候你可能需要重启Redis服务器。

相关问题