php5.6でredis.soが拡張できない問題の解決方法

WBOY
リリース: 2023-05-30 10:21:44
転載
1332 人が閲覧しました

まず、Redis とは何かを理解しましょう。 Redis は、文字列、ハッシュ テーブル、リスト、セット、順序付きセットなど、さまざまな種類のデータの保存、読み取り、操作に使用できる高性能のキー/値ストレージ データベースです。主にメモリを記憶媒体として使用するため、Redis は非常に高速かつ効率的になります。

Redis と対話するには、redis.so 拡張機能または phpredis 拡張機能をインストールすることで、PHP の機能を拡張できます。これらの拡張機能はさまざまな API 関数を提供するため、開発者は PHP コードで Redis に簡単にアクセスできます。ただし、一部の PHP バージョン、特に php5.6 では、これらの拡張機能が適切に動作しない問題がいくつかあります。

php5.6 バージョンを使用し、phpredis 拡張機能をインストールして使用するか、redis.so を直接拡張しようとすると、次のエラー メッセージが表示される場合があります。

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
ログイン後にコピー

このエラー メッセージは、次のことを意味します。 PHP バージョンには、phpredis 拡張機能の依存関係である igbinary 拡張機能が含まれていません。 igbinary 拡張機能を使用すると、PHP のシリアル化と逆シリアル化を実装できる Redis のアクセス速度とパフォーマンスを高速化できます。

この問題を解決するには、まず igbinary 拡張機能をインストールし、次に phpredis 拡張機能をインストールするか、redis.so を拡張する必要があります。具体的な手順は次のとおりです。

  1. igbinary 拡張機能のインストール
    igbinary 拡張機能をダウンロードしてコンパイルし、PHP 拡張機能ディレクトリにインストールします。 GitHub から igbinary をダウンロードできます:


    $ git clone https://github.com/igbinary/igbinary.git
    $ cd igbinary
    $ phpize
    $ ./configure
    $ make
    $ sudo make install
    
    ログイン後にコピー


    上記の手順を完了したら、igbinary.so ファイルを PHP にコピーする必要があります。 extension directory に移動し、php.ini ファイルに次の行を追加します。


    #
    extension=igbinary.so
    
    ログイン後にコピー


  2. #phpredis をインストールするextension
    phpredis 拡張機能をダウンロードしてコンパイルし、PHP 拡張機能ディレクトリにインストールします。 GitHub から phpredis をダウンロードできます:


    $ git clone https://github.com/phpredis/phpredis.git
    $ cd phpredis
    $ phpize
    $ ./configure
    $ make
    $ sudo make install
    
    ログイン後にコピー


    次に、次の行を php.ini ファイルに追加します。

    <code>extension=redis.so
    </code>
    ログイン後にコピー


  3. redis.so
    phpredis 拡張機能を使用したくないが、拡張機能を使用したい場合は、 redis.so を直接拡張する場合は、PHP ソース コードをコンパイルし、Redis 拡張機能を有効にする必要があります。具体的な手順は次のとおりです。

まず、PHP ソース コードをダウンロードして解凍します。

$ 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
ログイン後にコピー

次に、./configure コマンドで Redis 拡張機能を有効にします。

$ ./configure --with-redis
ログイン後にコピー

次に、make コマンドを使用して PHP ソース コードをコンパイルします:

$ make
ログイン後にコピー

コンパイルが完了したら、redis.so ファイルを PHP 拡張ディレクトリにコピーします:

$ sudo cp modules/redis.so /usr/lib64/php5.6/modules/
ログイン後にコピー

最後に、php.ini ファイルに次の行を追加します:

extension=redis.so
ログイン後にコピー

以上がphp5.6でredis.soが拡張できない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート