PHPセッションデータの保存先

PHPのセッションはサーバに保存されるものだが、デフォルトではファイルで保存されている。

保存先の指定はphp.iniで指定できる。

CentOS 5.8では以下の場所に保存されていた。

/var/lib/php/session

# cat /etc/php.ini | grep session.save_path
session.save_path = "/var/lib/php/session"

また、phpinfoでも確認できる

phpini

 

ちなみに保存されたセッションファイルはネット上でよく言われている/tmpでは無いので、tmpwatch
によって自動的に削除されずひたすらサーバに溜まり続けていくのかと思ったが、そうでもないらしい。

/etc/php.iniで以下のように設定されている

——————————————————————————–

; Define the probability that the ‘garbage collection’ process is started
; on every session initialization.
; The probability is calculated by using gc_probability/gc_divisor,
; e.g. 1/100 means there is a 1% chance that the GC process starts
; on each request.

session.gc_probability = 1
session.gc_divisor     = 1000

; After this number of seconds, stored data will be seen as ‘garbage’ and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440

——————————————————————————–

1000回アクセスがあるごとに、1440秒(24分)以上経過したセッションファイルを自動削除するとのこと。

http://netlog.jpn.org/r271-635/2008/06/php.html

 

ここでセッション挙動を実験してくれています。
http://pentan.info/php/session_gc.html

広告
カテゴリー: PHP パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中