[PHP-users 4751] Re: PHPlib:マルチログイン防止をガーベッジコレクションで対応するべきか
vantest
php-users@php.gr.jp
Wed, 16 Jan 2002 19:54:46 +0900
バンテストです。
> これは,ログアウトとしても active_sessions のレコードが消えないという
> ことですか? 試しに,session クラスで,
> var $gc_time = 1;
> var $gc_probability = 100;
> のような設定をすると,ログアウトしてから1分以上経って別なセッションを
> 開始すると古いセッションレコードが消えました.もちろんDBはPostgreSQLで
> す(というか,コンテナに使用するRDBの種類によらず,GC機構はちゃんと働く
> はずです).
>
> こういう話ではない?
セッションレコードに対するGC機構は動作しています。
別なセッションを開始すると古いセッションレコードが消えます。
具体的には「active_sessions 」テーブルにおいて、nameフィールドが
「Example_Session」の
古いレコードだけが消えます。
ところがnameフィールドが「Example_User」のレコードはそのまま残っています。
「Example_User」のレコードは認証が成功したタイミングでテーブルに記録されま
す。
いつまで経っても消えないので、GC機構にこのレコードを削除する機構を新たに組み
入れ
ようと考えている訳です。
石井さまのサーバーではいかがでしょうか。
本来であれば、この「Example_User」のレコードもGC機構で削除されるのでしょう
か。
そうであればGC機構へ新たに削除機構を追加する必要がなくなりますが、現実には
削除されないのです。
参考までに次が私のサーバーにインストールされているバージョンです。
インストールされているバージョンに関係ありますか?
PHP → 4.0.3p11
PHPLib → 7.2d