[PHP-users 35483] Re: session_handler.phpの挙動について
shinichiro mori
shinichiro.mori.1983 @ gmail.com
2011年 2月 9日 (水) 14:32:41 JST
森といいます。
> メモリにしたときは消えることはありません。セッションタイムアウトは30分
> で設定しています。
> PHP 4.xのときはこんなことはありませんでした。
>
> SESSIONのスコープが変わったとか、private関数の中では使えないと
> か・・・
[1]
マニュアルによると、
≪引用≫
警告
PHP 5.0.5 以降、write ハンドラおよび close ハンドラはオブジェクトが破棄されたあとにコールされます。
そのため、セッション内でデストラクタを使用可能ですが、 ハンドラ内ではオブジェクトを使用できません。
この「ニワトリが先かタマゴが先か」の問題を解決するために、 デストラクタから session_write_close() を コールすることが可能です。
≪引用ここまで≫
とあります。
URL: http://www.php.net/manual/ja/function.session-set-save-handler.php
これは関係ありそうですか?
[2]
セッションタイムアウトとは、session.cookie_lifetime の事でいいのでしょうか?
30分のつもりが30秒にセットしてたなど、無いでしょうか?
タイミング次第ではクッキーが無効になりそうな気がします。
PHP-users メーリングリストの案内