Saya tidak boleh menyambung ke redis menggunakan php
P粉465287592
2023-09-01 15:37:59
<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>
Periksa sama ada lobak berfungsi sebagai satu pasukan
redis-cli ping
Jawapan乒乓
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.Saya telah melaraskan fail Php.ini seperti berikut.
Sebelum pelarasan
Selepas pelarasan
Terima kasih.