Baccho Log

No Image

Sponsored Link

[Codeigniter]SessionをDatabaseで管理する方法

  • 投稿日:
Tags:
Codeigniter PHP
Categories:
プログラミング

公式のユーザーガイドに書いてるのですが、忘れそうなのでメモ
Databaseの設定はちゃんとされていることを前提です。

まずSession管理用のテーブルを作ります

CREATE TABLE IF NOT EXISTS `ci_sessions` (
        `id` varchar(40) NOT NULL,
        `ip_address` varchar(45) NOT NULL,
        `timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
        `data` blob NOT NULL,
        KEY `ci_sessions_timestamp` (`timestamp`)
);

テーブル名は任意のもので設定可能です。

Codeigniter の config.php をいじります。

$config['sess_driver']             = 'database';    // どうやってSessionを管理するか (今回Database管理のため、databaseを設定)
$config['sess_cookie_name']        = 'ci_sessions'; // クッキー名
$config['sess_expiration']         = 15552000;      // Sessionを保持する期間(秒)、ここは適宜設定
$config['sess_save_path']          = 'ci_sessions'; // sess_driverによって変わります、databaseの場合はテーブル名を設定
$config['sess_match_ip']           = FALSE;         // セッションクッキーを読み取る際に、ユーザーの IP アドレスを検証するかどうか。
$config['sess_time_to_update']     = 86400;         // セッションIDを再生成する頻度。0だと再生成しない
$config['sess_regenerate_destroy'] = FALSE;         // セッション ID の自動再生成をするときに古いセッション ID に関連付けられたセッションデータを 破棄するかどうか。

これでDatabaseに保存されます。

« [JavaScript]Bootstrapでmodal処理を行う[XAMPP]7.1.1の設定メモ »

Sponsored Link

コメントする

記事の感想や修正依頼等ありましたら、コメントをお願いいたします