php redis502 エラーの解決策: 1. 「sudo apt-get install php5-redis」を使用するか、gitHub で phpredis をダウンロードします。 2. 再コンパイルしてインストールします。
この記事の動作環境: Windows 7 システム、PHP バージョン 5.5.30、DELL G3 コンピューター
解決方法php redis502 エラーの問題?
##php redis set nginx 502 solutionPHP Version 5.5.30-1+deb.sury.org~trusty+1 redis 3.0.1,php-redis 拡張機能は、pr.tar.gz バージョン 2.10 をダウンロードすることでインストールされます。 $redis->set('test', 'hello world') を実行し、nginx 502 エラーを報告します (nginx 502 エラーは本当に頭の痛い問題です)。 問題は $this->_redis->setOption(Redis::OPT_SERIALIZER,Redis::SERIALIZER_PHP);
## にあります。 #Reason php-redis 拡張機能のバージョン 2.10 です。低すぎる場合は、 sudo apt-get install php5-redis を使用するか、gitHub で
https://github.com/phpredis/phpredis
をダウンロードしてコンパイルしてインストールできます。
apt-get install インストールされているバージョンは 2.2.7 です。
public function conn() {undefined try {undefined $this->_redis->pconnect($this->host, $this->port, $this->timeout); // Set client option. must AFTER connected //var_dump(Redis::OPT_SERIALIZER,Redis::SERIALIZER_PHP);exit(); $this->_redis->setOption(Redis::OPT_SERIALIZER,Redis::SERIALIZER_PHP); //$this->_redis->setOption(0, 0); $this->_redis->auth("xxxrs"); // 此处是为 redis 配置的验证密码 $this->connected = true; } catch (RedisException $e) {undefined throw new CHttpException(500, "Redis occurs an error:" . $e->getMessage()); } }
赤いコード セクションを使用すると、502 エラーが発生します。緑色のコード部分は問題ありません。
setOption これはおかしなことでしょうか? php-redis apiを確認しました
$redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_NONE); // don't serialize data 不序列化数据 $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP); // use built-in serialize/unserialize 用php内置的序列化 $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_IGBINARY); // use igBinary serialize/unserialize 用扩展IGBINARY序列化 $redis->setOption(Redis::OPT_PREFIX, 'myAppName:'); // use custom prefix on all keys redis key前缀 $redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP); 用此就报502
PHPの組み込みシリアル化を使用すると問題が発生するのはなぜですか?結局何が起こったのですか?
後で IGBINARY 拡張機能をインストールしましたが、それでも動作しませんでした。最後に、php-redis の最新バージョン 2.24 をインストールして再度実行しましたが、まったく問題ありませんでした。
2.24 バージョン php-redis ソース コード アドレス https://github.com/nicolasff/phpredis
= = ====================
Redis::__construct コンストラクター
$redis = new Redis( );
接続、オープンリンク redis サービス
パラメータ
ホスト: 文字列、サービスアドレス
ポート: int、ポート番号
timeout: float、リンク期間 (オプション、デフォルトは 0、リンク時間に制限なし)
注: redis.conf にも時間があります。デフォルトは 300
pconnect、popenアクティブに閉じられたリンクはありません。
redis モードを設定するには上記の
#setOption を参照してください。redis で設定されたモードを表示するには getOption を参照してください。ping で表示します。接続ステータス 推奨学習: 「PHP ビデオ チュートリアル
」以上がPHP redis502エラーの問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。