いろいろ~備忘録~

WEBエンジニアによる記録

勉強になったことを記録

【FuelPHP】セッションをDBで管理

概要

データベースでセッション管理するための設定をしていきます。
管理方法はいくつかありますが、今回はデータベースで管理します。

1.設定

セッションクラスは、 fuel/core/config/session.php 設定ファイルで設定されています。
そのファイルをコピーして、fuel/app/config/ 配下にコピーします。
この設定で上書きが可能になります。

2.設定ファイルの修正

<?php
return array(

	// cookieからdbに変更
	'driver'	=> 'cookie', → 'db', 

3.セッション管理用のテーブルを作成

次のoilコマンドをターミナル上で入力します。

$ php oil r session:create

セッションを管理するためのテーブルが自動で作成されます。

生成されるテーブル定義

CREATE TABLE `sessions` (
  `session_id` varchar(40) NOT NULL,
  `previous_id` varchar(40) NOT NULL,
  `user_agent` text NOT NULL,
  `ip_hash` char(32) NOT NULL,
  `created` int(10) unsigned NOT NULL,
  `updated` int(10) unsigned NOT NULL,
  `payload` longtext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


以上でセッションがデータベースで管理されるようになりました。