8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS EC2にhandlersocketを入れるまで

Last updated at Posted at 2013-04-08

ソース格納ディレクトリに移動

sudo su
cd /usr/local/src/

handlersocketをclone

git clone git://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL.git
cd HandlerSocket-Plugin-for-MySQL/ 
./autogen.sh

libtoolとかautconfとかでエラーが出た場合

yum install automake gtk-doc
yum install libtool
./autogen.sh

やっとクライアントライブラリ作成

./configure --disable-handlersocket-server
make
make install
cd perl-Net-HandlerSocket
perl Makefile.PL

またエラー。。。(can't locate ExtUtils/MakeMaker.pm)

yum install perl-ExtUtils-MakeMaker 
perl Makefile.PL

make & make install

make
make install

次はPHPのライブラリ作成

cd /usr/local/src/
curl -O https://php-handlersocket.googlecode.com/files/php-handlersocket-0.3.1.tar.gz
tar zxvf php-handlersocket-0.3.1.tar.gz
cd handlersocket/

make installまで

phpize
./configure 

少し脱線

phpライブラリ作成の前にやった、クライアントライブラリ作成をせずとも「--disable-handlersocket-hsclient」オプションを付けて

./configure --disable-handlersocket-hsclient

と実行してもOKなのだが

> 出来上がるファイル「/usr/lib64/php/modules/handlersocket.so」
のサイズが極端に小さくなってしまう。

> 「--disable-handlersocket-hsclient」オプションが
あった場合 :1084695
なかった場合:247217

> 僕は最初、気づかず無しのほうで使っていたのですが
連続実行した場合、結果が不安定になってしまっていた。

> 30件取得出来るはずが、1件になったり、30件になったりと
不安定。。(原因知ってる方居ましたら教えて下さい、、このあたりの知識がなくて)

では、戻ります。

### 戻しました

```bash
make
make install

これであとはphp.iniに

echo "extension=handlersocket.so" > /etc/php.d/hs.ini

hs.soになってました。。iniに修正

これでやっとAWSでHandlerSocket使いになれた。

参考

クライアントライブラリ導入

PHPクライアント導入・使い方

HandlerSocketのgithub

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?