[PHP-users 4756] Re: PHPlib:マルチログイン防止をガーベッジコレクションで対応するべきか
Tatsuo Ishii
php-users@php.gr.jp
Wed, 16 Jan 2002 22:48:32 +0900
石井です.
> セッションレコードに対するGC機構は動作しています。
> 別なセッションを開始すると古いセッションレコードが消えます。
> 具体的には「active_sessions 」テーブルにおいて、nameフィールドが
> 「Example_Session」の
> 古いレコードだけが消えます。
ちょっと本題とは外れますが...ご存じとは思いますが,"Example_Session"の
"Example"は別にExampleのまま使う必要はありません.というか,実務で使う
場合には積極的に別の名前にした方が良いと思います.
> ところがnameフィールドが「Example_User」のレコードはそのまま残っています。
> 「Example_User」のレコードは認証が成功したタイミングでテーブルに記録されま
> す。
> いつまで経っても消えないので、GC機構にこのレコードを削除する機構を新たに組み
> 入れ
> ようと考えている訳です。
> 石井さまのサーバーではいかがでしょうか。
> 本来であれば、この「Example_User」のレコードもGC機構で削除されるのでしょう
> か。
ああなるほど.Userクラスを使っているのですね.私自身はUserクラスは使っ
たことはありませんが,Userクラスはセッション単位ではなく,セッションを
越えて持続するデータを保存するものですから,GCで消えないのは当然だと思
います.
> そうであればGC機構へ新たに削除機構を追加する必要がなくなりますが、現実には
> 削除されないのです。
> 参考までに次が私のサーバーにインストールされているバージョンです。
> インストールされているバージョンに関係ありますか?
> PHP → 4.0.3p11
> PHPLib → 7.2d
私は PHP 4.1.1,PHPLib 7.4-pre1 ですが,このあたりは変っていないように
思います.
--
Tatsuo Ishii