ここではCakePHP2.xでのSessionの保存先にデータベースを使用する方法を解説していきます。
core.phpの編集
/app/Config/core.php
Configure::write('Session', array( 'defaults' => 'database', 'ini' => Array( //ブラウザを閉じた時にセッションを破棄 'session.cookie_lifetime' => 0, ) ));
defaultsにdatabaseを設定、他にはphp、cakeなどがあります。
Session保存用のテーブル作成
/app/Config/Schema/sessions.sql
CREATE TABLE IF NOT EXISTS `cake_sessions` ( `id` varchar(255) NOT NULL DEFAULT '', `data` text NOT NULL, `expires` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
これだけでSession情報がDBに登録されるようになります。