====== Installing memcache on Windows for PHP ======
**%%Memcache%%**は%%deamon%%である。 つまり、マシンで独立して動作するサービスである。\\
**%%Memcache%%**はphpセッションのストアーとして利用できる。
例えば、phpで実装されている既存のWebアプリに独自のセッションハンドラーを持つ認証モジュール
(例:[[http://rnd.feide.no/simplesamlphp/|simpleSAMLphp]])を組み込む際、セッションハンドラーの衝突を防ぐ為に、**%%Memcache%%**を利用できる。((simpleSAMLphpを一般のphpアプリに統合する際、memcacheを利用することを勧めている。 DrupalとsimpleSAMLphpの統合にもmemcacheをセッションハンドラーとして用いている。))
以下では、**%%Memcache%%**サーバーをWindows上でインストールする手順を紹介する。
===== Install Guide =====
インストールを手順を次に示す。
- %%[win32 binary]%%版の[[http://code.jellycan.com/memcached/| memcache]]をダウンロードする。
- マシン上の適当なところに解凍する。 例えば「**c:\memcached**」に解凍したとする。中には**memcached.exe**ファイルが入っている。((Vista上でインストールする際は、権限を確認する必要がある。 **memcached.exe**の右クリックして、Propertiesを開くと、Compatibilityタブに権限に関する項目がある。 そこで、「管理者として実行する」にチェックする。))
- サービスとして登録する為に、コマンドプロンプトを開いて、次のコマンドを実行する。 「**%%c:\memcached\memcached.exe -d install%%**」
- memcacheサーバーを起動するためには、**php_memcache.dll**が必要である。そのファイルがあるかどうか確認する。(例 C:\php\ext)
ない場合は次のサイトからダウンロードする。[[http://www.pureformsolutions.com/pureform.wordpress.com/2008/06/17/php_memcache.dll]]
- php.iniファイルを開いて、モジュールを追加する。 設定例を次に示す。
extension=php_memcache.dll
- Apacheサーバーを再起動する。
===== Test memcache server =====
インストールが完了したら動作を確認する。 動作確認の為のテストページを次に示す。
connect("localhost",11211); # You might need to set "localhost" to "127.0.0.1"
echo "Server's version: " . $memcache->getVersion() . "
\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = "test";
$tmp_object->int_attr = 123;
$memcache->set("key",$tmp_object,false,10);
echo "Store data in the cache (data will expire in 10 seconds)
\n";
echo "Data from the cache:
\n";
var_dump($memcache->get("key"));
?>
エラーが出なくて、次のようなページが見れば、インストールは完了である。
Server's version: 1.2.6
Store data in the cache (data will expire in 10 seconds)
Data from the cache:
object(stdClass)[3]
public 'str_attr' => string 'test' (length=4)
public 'int_attr' => int 123
===== reference =====
- [[http://pureform.wordpress.com/2008/01/10/installing-memcache-on-windows-for-php/|Installing memcache on Windows for PHP]]
- [[http://markmail.org/message/lncdy56aqcddf7xy#query:simplesamlphp%20session%20handler+page:1+mid:zfmlqda6ub2lyqgf+state:results|simpleSAMLphp with joomla]]
- [[http://allegiance.chi-town.com/MemCacheDManager.aspx|MemCacheD Manager]]
~~DISCUSSION~~