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

Hisao SHIBUYA php-users@php.gr.jp
Tue, 26 Jun 2001 19:23:54 +0900


渋谷です。

> > 114:      $id = $this->that->ac_newid(md5(uniqid($this->magic)),
> >$this->name);
> >
> > でIDを生成しているようですが、複数台立てたときはこの$this->magicをそれぞれ
> >の
> > マシンごとに変えておけばいいんですよね。
> 
> 多分これは必要なし、

uniqid は時間を元に生成されるので、マシンが違うばかなり低い確率だと
思いますが、同じになる可能性はあると思います。
uniqid("server1");
と言う風にすると
server1.....
といった具合に生成された ID に文字列がつくので、ここをサーバごとに
替えておけばまず大丈夫だと思います。


> > そこで、WEBサーバをA、Bとしたとき
> > あるユーザがA でsession idを貰って、そのサイトを利用してるうちに B に
> > 切り替わったとき、問題は何もないのでしょうか?
> 
> セッション情報をローカルの /tmp とかに格納しているのなら問題あり、
> バックエンドの DB に格納しているのなら多分 OK じゃないかと思います。

そうですね。セッション情報を 1つの DB にしておけば大丈夫です。
ただ、ページを見るたびに update が実行されるので、PostgreSQL だと
頻繁に vacuum しないといけませんが。

shibuya@alpha.or.jp