Je ne parviens pas à me connecter à Redis en utilisant php
P粉465287592
P粉465287592 2023-09-01 15:37:59
0
2
671
<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粉465287592
P粉465287592

répondre à tous(2)
P粉116631591
  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.

P粉920199761

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal