- 追加された行はこの色です。
- 削除された行はこの色です。
*セッション [#k2875c44]
#contents
PHPのセッション関連のメモ。~
まだよくわかっていないので、参考にしないように!
**セッションに関連するphp.iniの内容 [#y09f364e]
|設定名 |関数 |デフォルト|概要|h
|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でもいいかもしれない。~
(この辺がよくわからない)
**セッションの開始 [#u194c835]
#codeprettify{{
session_start();
}}
**セッションを破棄する [#a4fc6e57]
まだよく理解していない
#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();
}}
**参考 [#d033d233]
-[[実行時設定:http://php.net/manual/ja/session.configuration.php]]