Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-14.log failed

Installing memcache on Windows for PHP

Memcacheはdeamonである。 つまり、マシンで独立して動作するサービスである。
Memcacheはphpセッションのストアーとして利用できる。 例えば、phpで実装されている既存のWebアプリに独自のセッションハンドラーを持つ認証モジュール (例:simpleSAMLphp)を組み込む際、セッションハンドラーの衝突を防ぐ為に、Memcacheを利用できる。1) 以下では、MemcacheサーバーをWindows上でインストールする手順を紹介する。

Install Guide

インストールを手順を次に示す。

  1. [win32 binary]版の memcacheをダウンロードする。
  2. マシン上の適当なところに解凍する。 例えば「c:\memcached」に解凍したとする。中にはmemcached.exeファイルが入っている。2)
  3. サービスとして登録する為に、コマンドプロンプトを開いて、次のコマンドを実行する。 「c:\memcached\memcached.exe -d install
  4. memcacheサーバーを起動するためには、php_memcache.dllが必要である。そのファイルがあるかどうか確認する。(例 C:\php\ext)

ない場合は次のサイトからダウンロードする。http://www.pureformsolutions.com/pureform.wordpress.com/2008/06/17/php_memcache.dll

  1. php.iniファイルを開いて、モジュールを追加する。 設定例を次に示す。
extension=php_memcache.dll
  1. Apacheサーバーを再起動する。

Test memcache server

インストールが完了したら動作を確認する。 動作確認の為のテストページを次に示す。

<?php
    $memcache = new Memcache;
    $memcache->connect("localhost",11211); # You might need to set "localhost" to "127.0.0.1"

    echo "Server's version: " . $memcache->getVersion() . "<br />\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)<br />\n";
 
    echo "Data from the cache:<br />\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

1)
simpleSAMLphpを一般のphpアプリに統合する際、memcacheを利用することを勧めている。 DrupalとsimpleSAMLphpの統合にもmemcacheをセッションハンドラーとして用いている。
2)
Vista上でインストールする際は、権限を確認する必要がある。 memcached.exeの右クリックして、Propertiesを開くと、Compatibilityタブに権限に関する項目がある。 そこで、「管理者として実行する」にチェックする。

コメント

コメントを入力. Wiki文法が有効です:
Z K B H L
 

QR Code
QR Code study:php5:memcache (generated for current page)