CakePHP2のセッションコンポーネントで管理するセッションとPHPの$_SESSION変数を連携させる方法

こんにちは。オガリア開発チームの粂です。

CakePHPのバージョン:2.4

CakePHPのセッションコンポーネントを使って管理するセッションとPHP標準のセッション変数である$_SESSIONを共有させたい場合、そのままではCookie保存時の名称が異なるためうまく連携させることができません。連携・共有させるにはCookie保存時の名称をそれぞれであわせる必要があります。

設定変更としては1行追加するのみです。core.phpのSessionの設定を以下のように変更します。

Configure::write('Session', array(
	'cookie'   => 'PHPSESSID',
	'defaults' => 'php'
));

デフォルトではcookieの値は「CAKEPHP」になっているので、これを「PHPSESSID」に変更すればセッション情報を共有することができます。
※「PHPSESSID」というのはPHPのデフォルトのセッション名称です。php.iniでsession.nameを変更している場合は当然変更した名称にあわせる必要があります。

最後までお読みいただきありがとうございました!

Pocket