以前、Session.saveを独自設定を指定して、セッション有効期限などを変更する方法を紹介しましたが、 この方法、セッションをDBあるいはキャッシュに設定する場合は避けた方が良さそうです。 実例 セッションのDB保存設定をベースに、session.cookie_lifetimeを0=ブラウザを閉じるまで に変更しています。 実装状態はこちら この設定で運用していたら、viewで$session->flash()した後もメッセージが消えず、 ログイン後もログインエラーメッセージが出続ける データセーブ後、別の画面に遷移しても保存完了メッセージが出続ける*1 などの現象が発生していました。 調べると、$session->flushで$_SESSIONからはMessageが削除されるのに、データベースのcake_sessionsでは削除されていません。 これが原因のようです。 解析 core