php セッションの有効期限を2038年以上にするとセッションクッキーになってしまう件

cakephp1.2でSecurity.level=lowにした上でsession_startすると、本来であれば有効期限が25年先となるはずが、有効期限がセットされずにセッションクッキーになってしまうという問題にぶち当たった。

しかもphp5.1だと発生し、php5.2だと発生しない。

色々試したところ、level=mediumにしたら有効期限(7日)がセットされた。さらに調べたところ、2038年以上にすると有効期限がセットされないということが分かった。

おそらくphp5.1以前のバージョンだとこの2038年問題に対応していないためだと思われる。


以下、直接cakeファイルをいじりたくない場合のカスタマイズの参考になりそうなサイト。
cakePHPによるセッションクッキーのライフタイムのカスタマイズ - ふと、思いついたんだ
CakePHP ブラウザを閉じたらSESSIONを破棄 | Yasigani-ni Blog
YOWANAKI CakePHP ブラウザ閉じたときセッション開放する方法