Ich kann über PHP keine Verbindung zu Redis herstellen
P粉465287592
P粉465287592 2023-09-01 15:37:59
0
2
695
<p>Ich kann über PHP keine Verbindung zu Redis herstellen. Ich habe eine Umgebung mit Docker eingerichtet und versucht, Redis von PHP aus mithilfe von PHP- und Redis-Containern zu verbinden, aber es ist fehlgeschlagen. Ich erhalte die folgende Fehlermeldung. </p> <pre class="brush:php;toolbar:false;">PHP-Warnung: PHP-Start: Die dynamische Bibliothek „redis.so“ kann nicht geladen werden (versucht: /usr/lib/php/20190902/redis.so (/ usr/lib/php/20190902/redis.so: undefiniertes Symbol: php_json_decode_ex), /usr/lib/php/20190902/redis.so.so (/usr/lib/php/20190902/redis.so.so: kann nicht geöffnet werden freigegebene Objektdatei: Keine solche Datei oder kein solches Verzeichnis)) in Unbekannt in Zeile 0 PHP-Hinweis: session_start(): Redis ist beim Erstellen der session_id in /var/www/html/index.php in Zeile 2 nicht verfügbar PHP-Warnung: session_start(): Sitzungsdaten konnten nicht gelesen werden: redis (Pfad: tcp://localhost:6379) in /var/www/html/index.php in Zeile 2 string(0) "" save_handler=redis save_path=tcp://localhost:6379 session_id=</pre> <p>Dies ist die PHP-Datei, die als Reaktion auf den Fehler ausgeführt wird. </p> <pre class="brush:php;toolbar:false;"><?php session_start(); ini_set('session.cookie-domain', 'localhost'); var_dump(session_id()); echo "save_handler=" . echo "save_path=" . echo "session_id=" . $_SESSION['libname'] = "PhpRedis"; ?></pre> <p>Teil der php.ini-Datei. </p> <pre class="brush:php;toolbar:false;">[Sitzung] ; Handler zum Speichern/Abrufen von Daten. ; http://php.net/session.save-handler session.save_handler = redis session.save_path = "tcp://localhost:6379" ;Überprüfung des Redis-Erweiterungsmoduls extension=redis.so ; Standard-Redis-Timeout redis.timeout = 5</pre> <p>Wenn mir Informationen fehlen, die zur Lösung dieses Problems erforderlich sind, teilen Sie mir dies bitte mit. Vielen Dank im Voraus. </p> <p>Anhang: Ich gebe „Ping“ ein und es wird „Pong“ zurückgegeben. Ich kann mit redis-cli vom PHP-Container aus eine Verbindung zu Redis herstellen. Außerdem ist hier der Pfad zu redis.so. <code>~/usr/lib/php/20190902/redis.so</code> Der Pfad zu php.ini (der verwendete Server ist Apache2). <code>~/etc/php/7.4/apache2/php.ini</code></p>
P粉465287592
P粉465287592

Antworte allen(2)
P粉116631591
  1. 检查 radish 是否作为一个团队工作redis-cli ping 回答乒乓

  2. 确保您的 PHP 配置包含 Redis 扩展的正确设置。检查php.ini文件是否指定了redis.so的正确路径以及其他必要的配置。

P粉920199761

我已将 Php.ini 文件调整如下。
调整前

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

调整后

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

谢谢。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage