Je ne parviens pas à me connecter à Redis en utilisant php
P粉465287592
2023-09-01 15:37:59
<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>
Vérifiez si le radis travaille en équipe
redis-cli ping
Réponse乒乓
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.J'ai ajusté le fichier Php.ini comme suit.
Avant ajustement
Après réglage
Merci.