Maison  >  Questions et réponses  >  le corps du texte

Je ne parviens pas à me connecter à Redis en utilisant php

<p>Je ne parviens pas à me connecter à Redis en utilisant php. J'ai configuré un environnement avec Docker et essayé de connecter Redis à partir de PHP à l'aide de conteneurs PHP et Redis, mais cela a échoué. J'obtiens l'erreur suivante. </p> <pre class="brush:php;toolbar:false;">Avertissement PHP : Démarrage PHP : Impossible de charger la bibliothèque dynamique 'redis.so' (essayé : /usr/lib/php/20190902/redis.so (/ usr/lib/php/20190902/redis.so : symbole non défini : php_json_decode_ex), /usr/lib/php/20190902/redis.so.so (/usr/lib/php/20190902/redis.so.so : impossible d'ouvrir fichier objet partagé : aucun fichier ou répertoire de ce type)) dans Inconnu à la ligne 0 Avis PHP : session_start() : Redis n'est pas disponible lors de la création de session_id dans /var/www/html/index.php à la ligne 2 Avertissement PHP : session_start() : échec de la lecture des données de session : redis (chemin : tcp://localhost:6379) dans /var/www/html/index.php à la ligne 2 chaîne(0) "" save_handler=redis save_path=tcp://localhost:6379 session_id=</pre> <p>Il s'agit du fichier php exécuté en réponse à l'erreur. </p> <pre class="brush:php;toolbar:false;"><?php session_start(); ini_set('session.cookie-domain', 'localhost'); var_dump(session_id()); echo "save_handler=" . ini_get("session.save_handler") . echo "save_path=" . ini_get("session.save_path") . echo "session_id=" . $_SESSION['libname'] = "PhpRedis"; ?>≪/pré> <p>Partie du fichier php.ini. </p> <pre class="brush:php;toolbar:false;">[Session] ; Gestionnaire utilisé pour stocker/récupérer des données. ; http://php.net/session.save-handler session.save_handler = redis session.save_path = "tcp://localhost:6379" ;vérification du module d'extension Redis extension = redis.so ; délai d'attente redis par défaut redis.timeout = 5</pre> <p>S'il me manque des informations nécessaires pour résoudre ce problème, veuillez me le faire savoir. Merci d'avance. </p> <p>Pièce jointe : Je tape ping et ça renvoie pong. Je peux me connecter à Redis depuis le conteneur php en utilisant redis-cli. De plus, voici le chemin vers redis.so. <code>~/usr/lib/php/20190902/redis.so</code> Le chemin vers php.ini (le serveur utilisé est apache2). <code>~/etc/php/7.4/apache2/php.ini</code></p>
P粉465287592P粉465287592438 Il y a quelques jours670

répondre à tous(2)je répondrai

  • P粉116631591

    P粉1166315912023-09-02 13:24:21

    1. Vérifiez si le radis travaille en équiperedis-cli ping Réponse 乒乓

    2. Assurez-vous que votre configuration PHP contient les paramètres corrects pour l'extension Redis. Vérifiez php.ini文件是否指定了redis.so le chemin correct et les autres configurations nécessaires.

    répondre
    0
  • P粉920199761

    P粉9201997612023-09-02 12:09:25

    J'ai ajusté le fichier Php.ini comme suit.
    Avant ajustement

    session.save_path = "tcp://localhost:6379"

    Après réglage

    session.save_path = "tcp://redis:6379"

    Merci.

    répondre
    0
  • Annulerrépondre