セッションを使うための設定

php.iniには、セッションの挙動をカスタマイズするためのさまざまな設定が用意されています。ここでは、その中でも特に大切と思われるパラメータを挙げておきます。すべてを理解する必要はありませんが、「こんなものもあるんだ芯」という程度に目を還しておいてください。

(1) session.auto startパラメータ
先ほど、「セッシヨンを使うには、あらかじめsession_start関数を呼び出しておく」という説明をしました。しかし、個々のページで毎回、session start関数を呼び出すのは面倒です。もしもほとんどのページでセッションを利用しているならば、session.auto startパラメータをOnに設定してもよいでしょう。これによって、すべてのページで自動的にセッションが始まるようになります。

(2) session.save_path パラメータ
セッションは、デフォル卜でデータをファイルに保存します。session.save_pathパラメータは、セッションの保存先を表すパラメータです。ごとで指定したパラメータが存在しない場合、セッション関係の操作は失敗しますので注意してください。

また、保存先には「/tmp」フォルダのように、サーバー上の他ユーザーが自由にアクセスできるよう芯場所は避けた方が無難です。セッションを乗っ取うれる原因となる可能性があるからです。既定値は 「C:¥xampp¥tmp」です。
(3) session.gc_maxlifetimeパラメータ
セッションに保存したデータは、必ずしもsession unset関数などで明示的に削除されるとは限りません。プログラマーが後始末していないとともあるでしょうし、ユーザーが勝手にブラウザを閉じて、アブリを強制終了してしまうとともあるでしょう。そのような場合に、セッシヨンは破棄されないまま、サーバーに永遠と残り続けるのでしょうか。

いいえ、そのようなととはありません。セッションにはあらかじめ有効期限(session.gc_maxlifetime パラメータ)が設けられています。デフォルトは 1440秒 (=24分)で、ここで指定された時間以上アクセスがないと、そのセッションデータはゴミとみなされ、自動的に破棄されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です