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
を使用します。
まず、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 。
それでも問題が解決しない場合は、表示される新しいエラーで質問を更新してください。
Ubuntu 18.04でこの問題が発生しました
ローカルシステムにredisをインストールしましたが、解決しました。
sudo apt-get install redis-server
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サーバーを再起動します