web-dev-qa-db-ja.com

Laravel:Redis接続を確立できませんでした:[tcp://127.0.0.1:6379]

laravel "predis/predis":"~1.0"を追加して、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]

プロジェクトにはvirtualhostを使用しています。 Xampp with windowsを使用します。

17
Gammer

まず、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

それでも問題が解決しない場合は、表示される新しいエラーで質問を更新してください。

8
lps

Ubuntu 18.04でこの問題が発生しました

ローカルシステムにredisをインストールしましたが、解決しました。

 sudo apt-get install redis-server 
3
Shreekanth

Refソリューション: 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

行bind 127.0.0.1 :: 1を見つけて#bind 127.0.0.1 :: 1に変更し、行protect-mode yesを見つけてそれをprotected-mode noに変更します

その後、redisサーバーを再起動します

2
flik