J'ai installé redis avec laravel en ajoutant "predis/predis":"~1.0"
,
Ensuite, pour tester, j'ai ajouté le code suivant:
public function showRedis($id = 1)
{
$user = Redis::get('user:profile:'.$id);
Xdd($user);
}
Dans app/config/database.php, j'ai:
'redis' => [
'cluster' => false,
'default' => [
'Host' => env('REDIS_Host', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],
Il lève l'erreur suivante: No connection could be made because the target machine actively refused it. [tcp://127.0.0.1:6379]
J'utilise virtualhost
pour le projet . J'utilise Xampp with windows
.
Tout d'abord, assurez-vous que Redis écoute réellement sur ce port en ouvrant powershell et en tapant netstat -aon | more
(cette commande devra peut-être être activée dans les fonctionnalités ou installée d'une manière ou d'une autre). S'il écoute, vérifiez les paramètres de votre pare-feu. Si ce n'est pas le cas, assurez-vous que Redis est démarré et configuré pour écouter sur ce port.
Il semble que predis/predis
est une bibliothèque cliente uniquement. Voir https://packagist.org/packages/predis/predis .
Vous devez installer le serveur Redis, mais il semble que ce n’est pas officiellement pris en charge sous Windows. Voir http://redis.io/download . Selon les informations de cette page, il semble y avoir un port Win64 pour Redis ici https://github.com/MSOpenTech/redis .
Si cela ne fonctionne toujours pas après cela, mettez à jour votre question avec la nouvelle erreur que vous voyez.
Solution de référence: https://rapidsol.blogspot.com/2018/10/php-fatal-error-uncaught.html
Cela montre que votre serveur n'accepte pas les connexions de l'extérieur. Vous devez fournir l'adresse IP de votre serveur Redis.
$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;
si le problème persiste, essayez les étapes ci-dessous.
Il faut donc éditer: $ Sudo vi /usr/local/etc/redis.conf
et recherchez la liaison de ligne 127.0.0.1 :: 1 et remplacez-la par #bind 127.0.0.1 :: 1 puis recherchez la ligne en mode protégé yes .__, puis modifiez-la en mode protégé.
puis redémarrez le serveur Redis