*セッション [#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"]
	);
}

//#codeprettify{{ }}
session_destroy();
}}


**参考 [#d033d233]
-[[実行時設定:http://php.net/manual/ja/session.configuration.php]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS