簡體   English   中英

Laravel:Redis 無法建立連接:[tcp://127.0.0.1:6379]

[英]Laravel : Redis No connection could be made : [tcp://127.0.0.1:6379]

我通過添加"predis/predis":"~1.0" predis "predis/predis":"~1.0" predis "predis/predis":"~1.0"安裝了帶有 laravel 的 redis,

然后為了測試我添加了以下代碼:

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] No connection could be made because the target machine actively refused it. [tcp://127.0.0.1:6379]

我為項目使用virtualhost Xampp with windows使用。

首先確保Redis實際上是通過打開powershell並輸入netstat -aon | more來偵聽該端口 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

如果在此之后它仍無效,請使用您看到的新錯誤更新您的問題。

參考解決方案: 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

並找到行綁定127.0.0.1 :: 1並將其更改為#bind 127.0.0.1 :: 1然后找到行protected-mode yes然后將其更改為protected-mode no

然后重新啟動redis服務器

我在Ubuntu 18.04中遇到過這個問題

我在我的本地系統中安裝了redis,得到了解決。

sudo apt-get install redis-server

如果您使用的是 Redis,請確保Redis 服務器正在運行,默認情況下在此 6379 端口上

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM