人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPでmysqliクラスを使ってMySQLとの通信に圧縮プロトコルを使いたいのですが設定が分かりません。またMySQL側での設定も必要なのでしょうか。

方法を具体的に教えて頂けると助かります。

●質問者: wankodon
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● TransFreeBSD
●100ポイント ベストアンサー

http://php.net/manual/ja/mysqli.real-connect.php
real_connectメソッドを使ってMYSQLI_CLIENT_COMPRESSフラグを指定するようです。
ググってもサーバ側の設定とか出てこないのでデフォルトで使えるんじゃないでしょうか。


a-kuma3さんのコメント
PDO では使えないみたいですね。 >http://php.net/manual/ja/mysqlnd.overview.php:title> **圧縮プロトコルのサポート PHP 5.3.2 以降では、MySQL Native Driver は圧縮したクライアントサーバープロトコルをサポートします。 5.3.0 や 5.3.1 の時点ではまだ対応していませんでした。 ext/mysql や ext/mysqli では、MySQL Native Driver を使うように設定すればこの機能を使えるようになります。 ただし、<span style="color:red;">PDO_MYSQL については mysqlnd と組み合わせても圧縮機能が使えない</span>ことに注意しましょう。 <<

wankodonさんのコメント
real_connect()使えばいいのですね。回答ありがとうございます。 またPDOでは使いないことで了解しました。 real_connect()のリンク先拝見しましたが、フラグ指定の実装例がないのですが、具体的には $mysqli->real_connect($host, $username, $password, $database, $port, NULL, MYSQLI_CLIENT_COMPRESS) と指定すればよいのでしょうか。 ググってみましたが、それらしい記述が見つからないので困ってます。

a-kuma3さんのコメント
こことか。 [http://etutorials.org/Server+Administration/upgrading+php+5/Chapter+3.+MySQL/3.4+Object-Oriented+Interface/:title] マニュアルのページのまんまですが、new して、init して、必要なら options して、real_connect です。 オプションは複数指定する場合には、ビット指定のはずなので "|" で結合です。

wankodonさんのコメント
なるほど、そうやるのですね。 とても参考になりました、有難うございます!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ