Undefined class constant 'SERIALIZER_IGBINARY'の解決方法

2384 ワード

问题背景:今日新しいプロジェクトの中で1つのメールのインタフェースを呼び出して、このインタフェースはrpcのカプセル化した1つのサービスで、コードはRedis::SERIALIZERを呼び出しましたIGBINARYは、もともと地元でよく、alpha環境報に送った.
Undefined class constant 'SERIALIZER_IGBINARY',Googleはigbinary拡張が少なくなったことを発見しました.私のローカルはインストールされているので、ローカルは正常に動作しています.次は解決方法です.
解決方法:
1、igbinary拡張子のインストール
1 wget http://pecl.php.net/get/igbinary-1.2.1.tgz
2 tar zxvf igbinary-1.2.1.tgz
3 cd igbinary-1.2.1
4 /usr/local/php/bin/phpize
5 ./configure --with-php-config=/usr/local/php/bin/php-config
6 make
7 make install

2、phpredis拡張の再コンパイル
phpredisディレクトリを直接削除し、コンパイルを再ダウンロード
1 wget http://download.redis.io/releases/redis-2.6.14.tar.gz
2 tar zxvf redis-2.6.14.tar.gz
3 cd redis-2.6.14
4 /usr/local/php/bin/phpize
5 ./configure --enable-redis-igbinary --with-php-config=/usr/local/php/bin/php-config
6 make
7 make install

3、php.iniロード拡張
 1 vim/usr/local/php/etc/php.ini 2に:3 extensions=igbinary.so(redis拡張をロードする前)4 extensions=redis.so 
4、構成ファイルの再起動
 1/etc/init.d/nginx reload 2/etc/init.d/php-fpm restart 
再アクセス、success
 
転載先:https://www.cnblogs.com/hadeswp/p/5819737.html