[PHP-users 28859] セッション処理つきまして

磯崎 慎一郎 [PLEA mediamix I 磯崎 慎一郎 [PLEA mediamix I
2006年 3月 28日 (火) 16:10:06 JST


こんにちは、イソザキといいます。
セッション処理がうまくいがず困り果てています。
ご指導下さい。
WindowsServer2000 PHP 5.1.2を使っています。

私のセッションの認識は、
・セッション処理を行う各ページは処理に先立ってsession_start()関数を呼ぶ。
・$_SESSION[]グローバル連想配列がセッション変数となる。
・$_SESSION[]の使用時にセッション変数の登録となる。
・セッションタイムアウトするまでは$_SESSION[]の値は常に同じである。
・セッション変数を開放するときsession_destroy()を呼ぶ。

昨日、セッションタイムアウトイベントを取得したいという趣旨の投稿をいたしました。
ご回答頂いた案ではなく、自前での処理にしたのですが、その内容は

セッション開始時に$_SESSION["MySesssion"]=session_id()とし、
各ページ遷移時に$_SESSION["MySesssion"]の値をDBに問い合わせ
以前のセッションから指定時間が経過しているかどうか調べる
ということにしました。
(タイムアウトしていればそのセッション変数はDBから削除し、セッションの終了とします。)

私としてはこの方法で実装してみたのですが、他のページに遷移すると
$_SESSION["MySesssion"]がUndefinedのエラーとなってしまいます。
私のセッションの認識、実装方法は間違っていますでしょうか?
ご指導お願いします。

もう一つ疑問点があります。
C:\PHP\sessiondataディレクトリ内にセッションファイルが無数にできますが、
あれはガベージコレクタ等が削除はしてくれないのでしょうか?
そのままたまり続けるのでしょうか?
よろしくお願いします。



PHP-users メーリングリストの案内