DebianかCentOSにmemcachedを導入する
テスト環境がCent OSじゃなくてDebianだったので、
そっちでmemcached使えるようメモ。
(http://gihyo.jp/dev/feature/01/memcached/0001?page=2)
$ wget http://www.danga.com/memcached/dist/memcached-1.2.5.tar.gz $ tar zxf memcached-1.2.5.tar.gz $ cd memcached-1.2.5 $ ./configure $ make $ sudo make install
ここまでは上手くいったけど
$ /usr/local/bin/memcached -p 11211 -m 64m -vv /usr/local/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
ここでこんなエラー
ググる。
$ ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib64/libevent-1.4.so.2
これでカイケツ
シナカッタ
export LD_LIBRARY_PATH=/usr/local/lib/ can't run as root without the -u switch
今度こそ解決
$ /usr/local/bin/memcached -p 11211 -m 64m -vv -u yuki
ただrootで動かしてたので
「-u」オプションでユーザー名追加して起動した
$ aptitude install php5-dev $ apt-get install php5-memcache $ vi /etc/php5/conf.d/memcache.ini + extension=memcache.so
PHP側。
<?php $memcache = new Memcache(); $memcache->connect('localhost', 11211) or die('connect failed.'); $get = $memcache->get('countkey'); echo $get; $key = 'countket'; $val_or_var = 'hhhhh'; $flag = null; $expire = 6000; $memcache->set($key, $val_or_var, $flag, $expire); $memcache->close(); ?>
テストしてみる
$ php -f memcached_test.php <8 new client connection <8 get countkey >8 END <8 set countket 0 6000 5 >8 STORED <8 connection closed.
動いたっぽい!
■ CentOS用の追記
CentOSで入れる際は下記のライブラリが必要
PHPで操作する用
…ただ,僕の環境は変態的で
php-pecl-memcache入れようとすると自動でPEARを入れようとする(以前直接入れたんだけど)ので,
pecl-memcacheはどうにかしないといけない.
ので,PEARコマンドで直接インストール