Laravel: Redis No se pudo hacer ninguna conexión: [tcp://127.0.0.1:6379]

3 minutos de lectura

He instalado redis con laravel agregando "predis/predis":"~1.0",

Luego, para probar, agregué el siguiente código:

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

En app/config/database.php tengo:

'redis' => [
        'cluster' => false,
        'default' => [
            'host' => env('REDIS_HOST', 'localhost'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => 0,
        ],

    ],

Lanza el siguiente error: No connection could be made because the target machine actively refused it. [tcp://127.0.0.1:6379]

lo estoy utilizando virtualhost Para el proyecto. Usando Xampp with windows.

  • ¿Tiene redis configurado correctamente y también verifica que está apuntando al puerto correcto?

    – Devsi Odedra

    27 de julio de 2016 a las 5:42

  • Si todo esta bien ! Pienso ! Si necesitas algo, puedo actualizar mi pregunta.

    – Jugador

    27 de julio de 2016 a las 5:44

  • Asegúrate de estar ejecutando dentro de Vagrant en lugar de en tu máquina local

    – Connor Sanguijuela

    13 de agosto de 2019 a las 14:23

Tuve este problema en Ubuntu 18.04

Instalé redis en mi sistema local, se resolvió.

sudo apt-get install redis-server

  • Este es el tipo de verificación simple de la que pocos hablan. ¡Gracias!

    – Fellipe Sanches

    19 de mayo de 2020 a las 1:22

  • Y ejecutar en la terminal: redis-server

    – alditis

    11 de junio de 2021 a las 9:03

  • si trabajado también con Ubuntu 20.04.2 LTS

    – Grigoreas P.

    20 de julio de 2021 a las 7:56

avatar de usuario
lps

Primero, asegúrese de que Redis realmente esté escuchando en ese puerto abriendo PowerShell y escribiendo netstat -aon | more (Es posible que este comando deba habilitarse en las funciones o instalarse de alguna manera). Si está escuchando, verifique la configuración de su firewall. Si no está escuchando, asegúrese de que Redis esté iniciado y configurado para escuchar en ese puerto.

Parece que predis/predis es solo una biblioteca cliente. Ver https://packagist.org/packages/predis/predis.

Debe instalar el servidor Redis, pero parece que no es oficialmente compatible con Windows. Ver http://redis.io/descargar. Según la información de esa página, parece que hay un puerto Win64 para Redis aquí https://github.com/MSOpenTech/redis.

Si aún no funciona después de eso, actualice su pregunta con el nuevo error que ve.

  • si no hay 6379 puerto escuchando… ¿Qué debo hacer!

    – Jugador

    27 de julio de 2016 a las 5:47

  • Hmmm, de una búsqueda rápida en Google parece predis/predis es simplemente una biblioteca cliente de Redis. ¿Instalaste el servidor Redis? Actualicé mi respuesta con más información.

    – lps

    27 de julio de 2016 a las 5:51


  • Sí, tengo un servidor redis e instalado.

    – Jugador

    27 de julio de 2016 a las 6:04

  • Aparentemente, no se está ejecutando o no está escuchando en ese puerto. Me aseguraría de poder acceder al servidor redis directamente mediante telnet o un cliente redis… compruebe fellowtuts.com/php/…. Además de eso, querrá publicar todas las configuraciones relevantes y los resultados de los comandos para obtener más ayuda al respecto. También tenga en cuenta que este problema está entrando en materia de sistemas y puede ser más adecuado para el sitio hermano de superusuario.

    – lps

    27 de julio de 2016 a las 6:18

  • Hombre perfecto ! Suena genial !

    – Jugador

    27 de julio de 2016 a las 6:26


Solución de referencia: https://rapidsol.blogspot.com/2018/10/php-fatal-error-uncaught.html

Está mostrando que su servidor no acepta conexiones desde el exterior. Debe proporcionar la ip de su servidor 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 el problema persiste, intente los pasos a continuación.

Entonces necesitas editar: $sudo vi /usr/local/etc/redis.conf

y encuentre la línea bind 127.0.0.1 ::1 y cámbiela a #bind 127.0.0.1 ::1 y luego busque la línea protected-mode sí y luego cámbiela a protected-mode no

y luego reinicie el servidor redis

avatar de usuario
Abdel Salam Megahed

Si está utilizando Redis, asegúrese de que El servidor Redis está en funcionamientode forma predeterminada, Redis se ejecuta en el puerto 6379.

Si se encuentra en un entorno local cuando reinicia la máquina, a veces es posible que también deba reiniciar el servidor Redis.

¿Ha sido útil esta solución?