#setlinebreak(on)
* memcachedをPHPのセッションに使う [#e287e559]

#htmlinsert(googleAdsense.html)
#ref(http://dozo.rgr.jp/img/img52_pecl.gif,right,nolink,around,PHP::PECL)

**概要 [#m1341f41]

いい加減ノリでもの作るのはやめろということが聞こえてきそうですが、
自分で使うものだから良いです。

(ノ・・)ン。。。。。。(((●コロコロッ

Memcachedを使ってセッション管理をするもので
WS Memcached Session Handler for PHP
http://weirdsilence.net/software/memsession/
というのがあるんですが、
イマイチ気に入らなかったので自作することにしました。

気に入らない点というのは
''socket_openを使っている''
こと。
せっかくmemcached用のAPIがあるんだから、
そっちを使いたい。
ということでまたゴミをまき散らすことにしました。

memcacheSession
http://dozo.rgr.jp/memcacheSession.tar.gz


ご利用に関して私は一切責任を負いませんしサポートもしませんのでよろしく。m(_ _)m

**利用方法 [#m93bc510]
PECL::memcacheをインストールした状態であることが前提です。
 # pecl install memcache

基本的にsession.save_pathにmemcachedのホスト名(IPアドレス)をセットして、
requireすれば使えるようになっています。
一緒にサンプルプログラムを入れているので、
適当なサーバにアップしてcommon.phpのsession.save_pathを変更してください。
 <?
  ini_set("session.save_path", "192.168.1.20");
 ?>

session.save_pathはphp.iniでも.htaccessでもini_setでも設定できます。

ちなみに、速度的にも負荷的にもファイルを使うより良い結果でした。

**ToDo [#u3b50b06]
fail over対応(まぁ何もしなくても対応してることになっているんですが。。。)
-どうもsession_set_save_handlerを使った場合にPHP側にバグがあるようで、PHPSESSID以外の文字をsession.nameに指定すると不正なIDでアクセスしたときにFatal Errorが出るみたい。 -- [[dozo]] &new{2006-08-11 11:22:18 (金)};
-動作には影響がないのだが、コンストラクタが__constructorと間違って記述していることに気がつき、かなり恥ずかしいので修正。さらにコンストラクタのマスクする方向が逆になっているのもかなり恥ずかしいので修正。 -- [[dozo]] &new{2006-09-02 02:31:31 (土)};
-「WS Memcached Session Handler for PHP」で起きていた不具合が  「memcacheSession」 では起きません。ということで、 「memcacheSession」 を利用させていただきます。 -- [[るい]] &new{2006-12-01 14:29:08 (金)};
-ありがとうございまーす。WS Memcachedで起きてた不具合ってどんな内容なんですか? -- [[dozo]] &new{2006-12-01 19:48:46 (金)};

#comment



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Third Project
証券会社ランキング比較