[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 メーリングリストの案内