PHPのセッション関連のメモ。
まだよくわかっていないので、参考にしないように!
設定名 | 関数 | デフォルト | 概要 |
session.save_path | session_save_path() | セッションの内容は、この設定で指定されたサーバーのパスに一時的に保存される。 | |
session.name | session_name() | PHPSESSID | セッション名。cookieに記録される |
session.gc_probability | 1 | session.gc_maxlifetime経過すると、session.gc_probability/session.gc_divisorの確率でセッションが破棄される。 | |
session.gc_divisor | 100 | session.gc_maxlifetime経過すると、session.gc_probability/session.gc_divisorの確率でセッションが破棄される。 | |
session.gc_maxlifetime | 1440 | session.gc_maxlifetime経過すると、session.gc_probability/session.gc_divisorの確率でセッションが破棄される。 | |
session.cookie_lifetime | 0 | ブラウザに送信するクッキーの有効期間を秒単位で指定。0を指定すると、ブラウザを閉じるまで。 | |
session.cache_limiter | session_cache_limiter() | nocash | キャッシュ制御の方法。 nocache、private、 private_no_expire、 publicのいずれかを指定。 |
session.cache_expire | session_cache_expire() | 180 | セッションのキャッシュの保持期間。分単位で指定。session.cache_limiterがnocaheだと無効 |
セッションに有効期限を設けたい場合は、session.gc_probability,session.gc_divisor,session.gc_maxlifetimeを要件にあった設定にすればよい。
session.cache_limiterをnocache以外にしている場合はsession.cache_limiterでもいいかもしれない。
(この辺がよくわからない)
#codeprettify{{ session_start(); }}
まだよく理解していない
#codeprettify{{ if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params(); setcookie(session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"] );
}
session_destroy(); }}