[PHP-users 8792] Re: セッション管理にDB を使う

Toshihiro Fujimori php-users@php.gr.jp
Fri, 19 Jul 2002 19:12:10 +0900


Tybalt of Capulet さんの<20020719180620.5CE4.ICE-MAN@tomato.ne.jp>から
>session_set_save_handler("my_sess_open",
>         "my_sess_close",
>         "my_sess_read",
>         "my_sess_write",
>         "my_sess_destroy",
>         "my_sess_gc");
>
>という記述がありました。
>これは
>my_sess_open
>my_sess_close
>my_sess_read
>my_sess_write
>my_sess_destroy
>my_sess_gc
>の関数を一度に全部実行するといことですか?
>そうならセッションをオープンしてから同時にクローズしているような気がして
>さっぱり意味がわかりません。
>それとsession_handler.phpをrequireした後にsession_start();
>していてどうして通常のファイルにセッションが保存されないのでしょうか?

session_set_save_handler では、文字通り、通常呼び出される
関数を別のものに置き換えています。
(session の save [& load] に関する handler を set)
そのために、session_handler.php の前半部分で関数の
定義を行っているわけです。
つまり、通常はファイルに保存されるところを、呼び出される
関数を変更してデータベースに保存する、という流れです。

マニュアルの session_set_save_handler の項をお読み頂ければ、
一目瞭然だと思います。

-- 
Toshihiro Fujimori (藤森 利浩)
Taisei Inc.
PGP Key ID: 0xBE1C7568 (DH/DSS)