Yii 2のredis拡張機能の構成(本明細書ではYii 2 basic版を使用)
5007 ワード
公式に提供されるドキュメントのアドレス:https://github.com/yiisoft/yii2-redis/blob/master/docs/guide/README.md 1.Yii 2をインストールするredis拡張
2.basic/config/web.phpの構成
components配列に次の内容を追加します.
3.使用
追加(一部のエラー解決)
basic/vendor/yisoft/yii 2-redis/connection.phpファイルのソースコードのうち265行が開始します(実際には異なります)変数errorNumber、errorDescriptionは、Yii 2を事前に定義せずにundefined に報告する."@"は新聞を間違えて遮断して、ずっと原因を調べることができなくて、"@"を削除してやっとstreamを発見しましたsocket_client、stream_socket_server()の2つの関数は を無効にしました.
変更前
変更後
解決方法:php.iniを編集してdisable_functions=...でstream_が見つかりましたsocket_server()、stream_socket_Client削除して保存し、webコンポーネントを再起動すればいい
記事のソースアドレス:http://www.yiichina.com/tutorial/550
cd /www/html/basic
php composer.phar require --prefer-dist yiisoft/yii2-redis
2.basic/config/web.phpの構成
components配列に次の内容を追加します.
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
],
3.使用
$redis = Yii::$app->redis;
$redis->get('key');
$redis->set('k','v');
追加(一部のエラー解決)
basic/vendor/yisoft/yii 2-redis/connection.phpファイルのソースコードのうち265行が開始します(実際には異なります)
変更前
$this->_socket = @stream_socket_client(
$this->unixSocket ? 'unix://' . $this->unixSocket : 'tcp://' . $this->hostname . ':' . $this->port,
$errorNumber,
$errorDescription,
$this->connectionTimeout ? $this->connectionTimeout : ini_get("default_socket_timeout")
);
変更後
// , notice ,
$errorNumber = '';
$errorDescription = '';
//---- :Warning:stream_socket_server() has been disabled for security reasons...
//---- "@" ↓↓↓ , "@" ,
$this->_socket = stream_socket_client(
$this->unixSocket ? 'unix://' . $this->unixSocket : 'tcp://' . $this->hostname . ':' . $this->port,
$errorNumber, //---- undefined
$errorDescription, //---- undefined
$this->connectionTimeout ? $this->connectionTimeout : ini_get("default_socket_timeout")
);
解決方法:php.iniを編集してdisable_functions=...でstream_が見つかりましたsocket_server()、stream_socket_Client削除して保存し、webコンポーネントを再起動すればいい
記事のソースアドレス:http://www.yiichina.com/tutorial/550