Heim > Datenbank > Redis > Hauptteil

So lösen Sie das Problem, dass PHP5.6 redis.so nicht erweitern kann

WBOY
Freigeben: 2023-05-30 10:21:44
nach vorne
1332 Leute haben es durchsucht

Lassen Sie uns zunächst verstehen, was Redis ist. Redis ist eine leistungsstarke Schlüsselwertspeicherdatenbank, die zum Speichern, Lesen und Bearbeiten verschiedener Datentypen wie Zeichenfolgen, Hash-Tabellen, Listen, Mengen und geordnete Mengen usw. verwendet werden kann. Es verwendet hauptsächlich Speicher als Speichermedium, was Redis sehr schnell und effizient macht.

Um mit Redis zu interagieren, können Sie die Funktionalität von PHP erweitern, indem Sie die Erweiterung redis.so oder die Erweiterung phpredis installieren. Entwickler können im PHP-Code problemlos auf Redis zugreifen, da diese Erweiterungen verschiedene API-Funktionen bereitstellen. Aber in einigen PHP-Versionen, insbesondere in php5.6, gibt es einige Probleme, die die ordnungsgemäße Funktion dieser Erweiterungen verhindern.

Wenn Sie die PHP5.6-Version verwenden und versuchen, die phpredis-Erweiterung zu installieren und zu verwenden oder redis.so direkt zu erweitern, wird möglicherweise die folgende Fehlermeldung angezeigt:

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
Nach dem Login kopieren

Diese Fehlermeldung bedeutet, dass Ihre PHP-Version die igbinary nicht enthält Erweiterung, Diese Erweiterung ist eine Abhängigkeit der PHPREDIS-Erweiterung. Die Verwendung der igbinary-Erweiterung kann die Zugriffsgeschwindigkeit und Leistung von Redis beschleunigen, das PHP-Serialisierung und -Deserialisierung implementieren kann.

Um dieses Problem zu lösen, müssen Sie zuerst die igbinary-Erweiterung und dann die phpredis-Erweiterung oder die Erweiterung redis.so installieren. Hier sind die spezifischen Schritte:

  1. Installieren Sie die igbinary-Erweiterung.
    Laden Sie die igbinary-Erweiterung herunter, kompilieren Sie sie und installieren Sie sie dann in Ihrem PHP-Erweiterungsverzeichnis. Sie können igbinary von GitHub herunterladen:


    $ git clone https://github.com/igbinary/igbinary.git
    $ cd igbinary
    $ phpize
    $ ./configure
    $ make
    $ sudo make install
    
    Nach dem Login kopieren


    Nach Abschluss der obigen Schritte müssen Sie die Datei igbinary.so in das PHP-Erweiterungsverzeichnis kopieren und die folgenden Zeilen in die Datei php.ini einfügen:


    extension=igbinary.so
    
    Nach dem Login kopieren


  2. Installieren Sie die PHPredis-Erweiterung.
    Laden Sie die PHPREDIS-Erweiterung herunter, kompilieren Sie sie und installieren Sie sie dann in Ihrem PHP-Erweiterungsverzeichnis. Sie können phpredis von GitHub herunterladen:


    $ git clone https://github.com/phpredis/phpredis.git
    $ cd phpredis
    $ phpize
    $ ./configure
    $ make
    $ sudo make install
    
    Nach dem Login kopieren


    Fügen Sie dann die folgende Zeile in die php.ini-Datei ein:

    <code>extension=redis.so
    </code>
    Nach dem Login kopieren


  3. Extend redis.so
    wenn du es nicht tust Wenn Sie die Erweiterung phpredis nicht verwenden und redis.so direkt erweitern möchten, müssen Sie den PHP-Quellcode kompilieren und die Erweiterung Redis aktivieren. Im Folgenden sind die spezifischen Schritte aufgeführt:

Laden Sie zunächst den PHP-Quellcode herunter und entpacken Sie ihn:

$ 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
Nach dem Login kopieren

Aktivieren Sie dann die Redis-Erweiterung im Befehl ./configure:

$ ./configure --with-redis
Nach dem Login kopieren

Als nächstes verwenden Sie den Befehl make, um den zu kompilieren PHP-Quellcode:

$ make
Nach dem Login kopieren

Kopieren Sie nach Abschluss der Kompilierung die Datei redis.so in das PHP-Erweiterungsverzeichnis:

$ sudo cp modules/redis.so /usr/lib64/php5.6/modules/
Nach dem Login kopieren

Fügen Sie abschließend die folgende Zeile in die Datei php.ini ein:

extension=redis.so
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass PHP5.6 redis.so nicht erweitern kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage