2012年3月11日日曜日

PHPのsessionをDBに保存する。その弐

実際にアクセスして動作を確認します。

  1. db_test.phpにアクセスした場合。
    read、gc、writeが動作します。DBにも値が入っています。
    Cookieに保存されているsessionの保存期間は100秒です。
  2. 次にブラウザを落とさずに、そのままdb_test2.phpにアクセスします。
    read、gc、destroyが動作します。
    readはsessionの読み込み時に動きます。

gcはsession_start時に指定した確率で動きます。
session_destroy時にdestroyが動きます。

session_set_cookie_params(100)を指定しない場合の動作はどうなるでしょう?
  1. db_test.phpにアクセスした場合。
    read、gc、writeが動作します。DBにも値が入っています。
    次にブラウザを落とします。必ずプロセスもkillして下さい。
  2. そして再度、ブラウザを立ち上げてdb_test2.phpにアクセスします。
    sessionの中身が空になっていることが確認できます。
    しかしDBにはsessionのデータが残っています。
    これはいつ削除されるのでしょうか?
    それは次に、どちらかのファイルにアクセスがあった際にgc関数によって削除されます。
以上で実装したかったことを実装できたと思います。
次回はphp5.4の場合について実装してみたいです。

0 件のコメント: