Rumah > pangkalan data > Redis > teks badan

Bagaimana untuk menyelesaikan masalah yang php5.6 tidak dapat melanjutkan redis.so

WBOY
Lepaskan: 2023-05-30 10:21:44
ke hadapan
1332 orang telah melayarinya

Pertama, mari kita faham apa itu Redis. Redis ialah pangkalan data storan nilai kunci berprestasi tinggi yang boleh digunakan untuk menyimpan, membaca dan mengendalikan pelbagai jenis data, seperti rentetan, jadual cincang, senarai, set dan set tersusun, dsb. Ia terutamanya menggunakan memori sebagai media penyimpanan, menjadikan Redis sangat pantas dan cekap.

Untuk berinteraksi dengan Redis, anda boleh melanjutkan fungsi PHP dengan memasang sambungan redis.so atau sambungan phpredis. Pembangun boleh mengakses Redis dalam kod PHP dengan mudah kerana sambungan ini menyediakan pelbagai fungsi API. Tetapi dalam sesetengah versi PHP, terutamanya dalam php5.6, terdapat beberapa masalah yang menghalang sambungan ini daripada berfungsi dengan betul.

Jika anda menggunakan versi php5.6 dan cuba memasang dan menggunakan sambungan phpredis atau lanjutkan redis.so secara langsung, anda mungkin menghadapi mesej ralat berikut:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php5.6/modules/redis.so' - /usr/lib64/php5.6/modules/redis.so: undefined symbol: igbinary_serialize in Unknown on line 0
Salin selepas log masuk

Mesej ralat ini bermaksud bahawa anda Versi PHP tidak termasuk sambungan igbinari, yang merupakan kebergantungan sambungan phpredis. Menggunakan sambungan igbinari boleh mempercepatkan kelajuan akses dan prestasi Redis, yang boleh melaksanakan pensirilan PHP dan penyahserikatan.

Untuk menyelesaikan masalah ini, anda perlu memasang sambungan igbinari dahulu, dan kemudian memasang sambungan phpredis atau sambungan redis.so. Berikut ialah langkah khusus:

  1. Pasang sambungan igbinari
    Muat turun dan susun sambungan igbinari, dan kemudian pasangkannya ke dalam direktori sambungan PHP anda. Anda boleh memuat turun igbinary daripada GitHub:


    $ git clone https://github.com/igbinary/igbinary.git
    $ cd igbinary
    $ phpize
    $ ./configure
    $ make
    $ sudo make install
    
    Salin selepas log masuk


    Selepas melengkapkan langkah di atas, anda perlu menyalin fail igbinary.so ke PHP direktori sambungan , dan tambahkan baris berikut dalam fail php.ini:


    extension=igbinary.so
    
    Salin selepas log masuk


  2. Pasang sambungan phpredis
    Muat turun dan susun sambungan phpredis, kemudian pasangkannya ke dalam direktori sambungan PHP anda. Anda boleh memuat turun phpredis daripada GitHub:


    $ git clone https://github.com/phpredis/phpredis.git
    $ cd phpredis
    $ phpize
    $ ./configure
    $ make
    $ sudo make install
    
    Salin selepas log masuk


    Kemudian, tambah baris berikut dalam fail php.ini:

    <code>extension=redis.so
    </code>
    Salin selepas log masuk


  3. Extended redis.so
    Jika anda tidak mahu menggunakan sambungan phpredis, tetapi mahu extend redis.so terus , maka anda perlu menyusun kod sumber PHP dan mendayakan sambungan Redis. Berikut ialah langkah khusus:

Mula-mula, muat turun kod sumber PHP dan nyahzipnya:

$ wget http://cn2.php.net/distributions/php-5.6.40.tar.gz
$ tar zxvf php-5.6.40.tar.gz
$ cd php-5.6.40
Salin selepas log masuk

Kemudian, dayakan sambungan Redis dalam arahan ./configure:

$ ./configure --with-redis
Salin selepas log masuk

Seterusnya, gunakan arahan make untuk menyusun kod sumber PHP:

$ make
Salin selepas log masuk

Selepas melengkapkan penyusunan, salin fail redis.so ke direktori sambungan PHP:

$ sudo cp modules/redis.so /usr/lib64/php5.6/modules/
Salin selepas log masuk

Akhir sekali, dalam fail php.ini Tambah baris berikut:

extension=redis.so
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah yang php5.6 tidak dapat melanjutkan redis.so. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan