Rumah  >  Soal Jawab  >  teks badan

Saya tidak boleh menyambung ke redis menggunakan php

<p>Saya tidak boleh menyambung ke redis menggunakan php. Saya menyediakan persekitaran dengan docker dan cuba menyambung redis dari php menggunakan bekas php dan redis, tetapi ia gagal. Saya mendapat ralat berikut. </p> <pre class="brush:php;toolbar:false;">PHP Amaran: PHP Startup: Tidak dapat memuatkan perpustakaan dinamik 'redis.so' (cuba: /usr/lib/php/20190902/redis.so (/ usr/lib/php/20190902/redis.so: simbol tidak ditentukan: php_json_decode_ex), /usr/lib/php/20190902/redis.so.so (/usr/lib/php/20190902/redis.so.so: tidak boleh dibuka fail objek kongsi: Tiada fail atau direktori sedemikian)) dalam Tidak diketahui pada baris 0 Notis PHP: session_start(): Redis tidak tersedia semasa membuat session_id dalam /var/www/html/index.php pada baris 2 Amaran PHP: session_start(): Gagal membaca data sesi: redis (path: tcp://localhost:6379) dalam /var/www/html/index.php pada baris 2 rentetan(0) "" save_handler=redis save_path=tcp://localhost:6379 session_id=</pra> <p>Ini ialah fail php yang dilaksanakan sebagai tindak balas kepada ralat. </p> <pre class="brush:php;toolbar:false;"><?php session_start(); ini_set('session.cookie-domain', 'localhost'); var_dump(id_session()); echo "save_handler=" ini_get("session.save_handler") . echo "save_path=" ini_get("session.save_path") . echo "session_id=" session_id() . $_SESSION['libname'] = "PhpRedis"; ?></pra> <p>Sebahagian daripada fail php.ini. </p> <pre class="brush:php;toolbar:false;">[Sesi] ; Pengendali digunakan untuk menyimpan/mendapat semula data. ; http://php.net/session.save-handler session.save_handler = redis session.save_path = "tcp://localhost:6379" ;mengesahkan modul sambungan redis sambungan=redis.so ; tamat masa redis lalai redis.timeout = 5</pre> <p>Jika saya kehilangan sebarang maklumat yang diperlukan untuk menyelesaikan isu ini, sila beritahu saya. Terima kasih terlebih dahulu. </p> <p>Lampiran: Saya menaip ping dan ia mengembalikan pong. Saya boleh menyambung ke redis dari bekas php menggunakan redis-cli. Di samping itu, berikut ialah laluan ke redis.so. <code>~/usr/lib/php/20190902/redis.so</code> Laluan ke php.ini (pelayan yang digunakan ialah apache2). <code>~/etc/php/7.4/apache2/php.ini</code></p>
P粉465287592P粉465287592434 hari yang lalu668

membalas semua(2)saya akan balas

  • P粉116631591

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

    1. Periksa sama ada lobak berfungsi sebagai satu pasukanredis-cli ping Jawapan 乒乓

    2. Pastikan konfigurasi PHP anda mengandungi tetapan yang betul untuk sambungan Redis. Semak php.ini文件是否指定了redis.so untuk laluan yang betul dan konfigurasi lain yang diperlukan.

    balas
    0
  • P粉920199761

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

    Saya telah melaraskan fail Php.ini seperti berikut.
    Sebelum pelarasan

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

    Selepas pelarasan

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

    Terima kasih.

    balas
    0
  • Batalbalas