CakePHP カスタムセッションでデータベースを利用する場合の注意点

Posted on 2011年 9月 6日

セッション情報の格納先をデータベースにした場合で、かつ、カスタムセッションを利用している場合の注意点。

Configure::write('Session.save', 'database'); に戻すこと。

でないと、セッション情報を書き込み時に、データベースの接続が切れて、セッション情報が書き込めなくなる現象がおきる。

原因は、ConnectionManager のデストラクタで Session.save が database のときだけ session_write_close() を実行するから。

ちなみに、カスタムセッションとは、Configure::write('Session.save', 'custom'); などにして、php、cake、database、cache にしていない場合のことです。

CakePHP (v1.3.11) で確認。

Posted in 開発 CakePHP