[PHP-users 372] Re: PHPLIB、分散環境とsession id について

Hisao SHIBUYA php-users@php.gr.jp
Fri, 29 Jun 2001 01:26:57 +0900


渋谷です。

> PHPLIBがsession idを振って、ログインしたあとどのようにログインした会員の
> 認証をチェックしているかまだしっかりと把握していないのです。

Cockie や URL から session id を受け取った場合、その ID が最終アクセス時間
から lifetime で設定した時間内にあるかどうかを調べているだけです。


> >ただ、ページを見るたびに update が実行されるので、PostgreSQL だと
> >頻繁に vacuum しないといけませんが。
> 
> 毎回updateですか?
> サーバが切り替わらなくてもupdateするのですか?
> DBがたいへんですね。

page_close した際に session の freez() を呼びます。
そいつがセッション変数などを serialize して Container クラス内の
ac_store() よ呼びます。PostgreSQL などを利用する場合は ct_sql.inc です。
そこで、update を行うようになっています。
ということで、結構ばかにならない数呼ばれることになります。
私は PHPLIB for PHP4 を使うようにしています。これであればセッション関係の
情報はファイルに保存されるので結構早いです。
複数サーバで使うには NFS なり方法を考える必要はありますが。

shibuya@alpha.or.jp