Rumah >pangkalan data >Redis >Bagaimana untuk menyelesaikan masalah yang php5.6 tidak dapat melanjutkan redis.so

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

WBOY
WBOYke hadapan
2023-05-30 10:21:441347semak imbas

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

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
    


    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
    


  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
    


    Kemudian, tambah baris berikut dalam fail php.ini:

    <code>extension=redis.so
    </code>


  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

Kemudian, dayakan sambungan Redis dalam arahan ./configure:

$ ./configure --with-redis

Seterusnya, gunakan arahan make untuk menyusun kod sumber PHP:

$ make

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

$ sudo cp modules/redis.so /usr/lib64/php5.6/modules/

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

<code><pre class="brush:php;toolbar:false">extension=redis.so</pre>

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam