セッションの有効期限を設定する

Webサイトへアクセスしてきたのが同じクライアントだと認識するには、クッキーとセッションの仕組みを使います。どちらも有効期限を持っていますので、それらの仕組みと設定方法を解説します。

セッションの仕組み

クライアントのアクセス情報を保持するセッションは、一般的にクッキー(Cookie)を使います。
従ってブラウザ側でクッキーを有効にしておかなければなりません。

そのクッキーの有効期限は、最初にサイトにアクセスしてきた時に、サーバー側で設定可能です。
サーバー側のセッション管理プログラムは、セッションスタート時に、
「session_set_cookie_params($lifetime);」を実行して有効期限を設定しています。

ここで$lifetimeは、「php.ini」の中にある、"session.cookie_lifetime"の設定値(単位は秒)を参照します。
デフォルトは0になっており、ブラウザを閉じるまで有効となっています。
このクライアント側のクッキーの仕組みを、セッションクッキーといいます。

そしてサーバー側でもセッション情報を一定期間保存しています。
セッション情報の保存期間を決定するのが、次の3つのパラメータです。

session.gc_maxlifetime
session.gc_probability
session.gc_divisor

セッション情報が書き込まれているファイルは、"session.gc_maxlifetime"より更新日付が古いと削除されます。

削除するプログラムは、session_start()が呼ばれた際に起動するGC(ガーベージコレクタ)です。
ただGCは毎回起動するというわけではなく、
分母に"session.gc_divisor"、分子に"session.gc_probability"をもってきた確率で起動されます。
これは毎回起動していると負荷が大きいという判断からです。

セッションの設定変更

デフォルトでは有効期限は1440(24分)、セッションファイルを削除するGCの起動確率は1/1000です。
つまり、「php.ini」の中では以下のように記述されています。

session.gc_maxlifetime = 1440
session.gc_probability = 1
session.gc_divisor = 1000

設定を変更するには、「php.ini」の記述を変えるだけです。

また、「.htaccess」に記述することでも変更できます。
例えば、有効期限を1時間、GC起動確率を1/100にするなら以下のようにします。

スポンサーリンク

特集記事

  • WordPress Image

    WordPress の基礎から応用まで
    Webサイト制作ツールとして圧倒的な人気を誇るWordPress。利用するにあたって必要な知識を体系的にまとめた記事です。
  • jQuery Mobile Image

    jQuery Mobile を基本から覚える
    スマホサイト制作に最適なフレームワークの利用方法を解説。DEMOページ・サンプルコードで動作を確認できます。

オンライン講座

Webの基礎マスター講座ページへのリンク


連載講座:WordPressで作る簡単Webサイトページへのリンク

提供しているサービス

WordPressサイト制作出張講座ページへのリンク

WordPress を利用した Webサイト制作の方法を、
あなたのオフィスにうかがいご説明いたします。
料金:¥48,000

サービス詳細ページ >>

申し込みフォーム >>


Webサイト1日公開サービスページへのリンク

一刻も早く Webサイトが必要な方のために、
一緒に作業し1日で公開までもっていきます。
料金:¥48,000

サービス詳細ページ >>

申し込みフォーム >>

スポンサーリンク

ページの先頭へ