セッションファイル

セッション

セッションファイルとは?

 状態:-  閲覧数:2,008  投稿日:2014-06-21  更新日:2014-06-21  
ユーザが定義したセッション情報を格納したファイル

セッションファイル中身例
SCRIPTQUIZ|a:1:{s:7:"modules";a:1:{s:3:"mcq";s:15:"modules/mcq.php";}}

デフォルト
・Webサーバの/tmp/ディレクトリに格納されている

「.htaccess」でセッションファイル保存先を変更する方法
・php_value session.save_path /○○/△△

「php_value session.save_path」でファイルが作成される理由
・「session.save_handler」のデフォルト指定がfileとなっているため

セッションファイル名
・sess_セッションID

セッションファイル名例
・sess_6l844hakk2e2r6h2qafvaf3hr0
・sess_leoavujtn4gc5s5nlad1ls39i4

セッションファイルの特徴

 閲覧数:805 投稿日:2017-02-10 更新日:2017-02-10 

セッションファイル保存内容


「セッションID」と「セッションデータ」以外は保持していない
・「どのサイトの管理下にあるセッションなのか」という情報は格納されていない
・$_SESSIONに設定された値だけを格納している
→ ドメインの区別をしていない


削除する際、問題発生


session.save_pathを指定していない場合
・サーバ中のセッションが、全て1ディレクトリへ格納されている

あるサイトのセッション有効期限を変更した場合
・一番短いセッション有効期限を設定したサイトに、他サイトのセッション有効期限も引きずられてしまう
・セッションファイルにはドメイン情報は含まれていないため
→ 有効期限のみでしか判断できない
※セッションのGCは、セッションファイルの更新日時だけを見て、古いと判断したものを全て削除する仕様だから


セッション有効期限を変更する場合は?


サイトごとにセッションファイル格納ディレクトリを個別設定しておく


セッションデータ

ブラウザを閉じたらセッションデータはどうなるの?

コメント投稿(ログインが必要)



週間人気ページランキング / 5-24 → 5-30
順位 ページタイトル抜粋 アクセス数
1 PHPにおけるメソッドのオーバーライドについて /「引数の数や型は、親クラスのメソッドと完全に一致していなければなりません。」とは具体的にどういう意味ですか? 5
2 http_build_queryとは? / 構文 /パラメータ 4
2 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 4
3 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 3
3 htmlspecialchars / htmlentities / addslashes / mysql_real_escape_string / mysqli_real_escape_string | セキュリティ 3
3 ブラウザを閉じたらセッションデータはどうなるの? | セッション 3
4 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column | Fatal error(エラーメッセージ) 2
4 set_error_handler | 例外処理(制御構造) 2
4 $this | クラスとオブジェクト 2
4 Fatal error(エラーメッセージ) カテゴリー 2
4 PHPで定数を定義する方法は2種類ある / 配列定数の定義 2
4 Warning: session_write_close(): Failed to write session data (user) | Warning(エラーメッセージ) 2
4 ( ! ) Warning: Declaration of xxxx should be compatible with | エラーメッセージ 2
4 ( ! ) Fatal error: Uncaught Abraham\TwitterOAuth\TwitterOAuthException: {"errors":[{"code":32,"message":"Could not authenticate you."}]} | Fatal error(エラーメッセージ) 2
4 インポートするデータを受信できませんでした。ファイル名が送信されていないか、ファイルサイズが PHP の設定で許可された最大値を超えています。FAQ 1.16 をご覧ください | エラーメッセージ 2
4 Fatal error: require_once(): Failed opening required 'PEAR.php' | Fatal error(エラーメッセージ) 2
4 Fatal error: Uncaught Wrench\Exception\HandshakeException: No accept header receieved on handshake response in ★★★ headless-chromium-php/vendor/wrench/wrench/lib/Wrench/Protocol/Protocol.php | エラーメッセージ 2
4 Fatal error: Uncaught Error: Call to a member function modify() on string | Fatal error(エラーメッセージ) 2
4 可変変数 | 変数 2
4 クロージャ | 関数 2
2025/5/31 1:01 更新