====== 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~~