セッションファイル

セッション

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

 状態:-  閲覧数:1,661  投稿日: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

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

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

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


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


削除する際、問題発生


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

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


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


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


セッションデータ

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

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



週間人気ページランキング / 3-22 → 3-28
順位 ページタイトル抜粋 アクセス数
1 コード例 … 「例外処理」はネストすることができる 9
2 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 8
2 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 8
2 ブラウザを閉じたらセッションデータはどうなるの? | セッション 8
3 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 7
4 PHPで定数を定義する方法は2種類ある / 配列定数の定義 6
4 curl で Cookie を使用する 6
5 Fatal error: Call to undefined method MDB2_Error::execute() in ○○ on line △△ | Fatal error(エラーメッセージ) 5
6 Warning: PDO::query(): LOAD DATA LOCAL INFILE forbidden | Warning(エラーメッセージ) 4
7 スコープ | 変数 3
8 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column | Fatal error(エラーメッセージ) 2
8 Trying to get property of non-object  | Notice(エラーメッセージ) 2
8 定数 2
8 PHPにおけるメソッドのオーバーライドについて /「引数の数や型は、親クラスのメソッドと完全に一致していなければなりません。」とは具体的にどういう意味ですか? 2
8 ガベージコレクション | 機能 2
8 Warning: include() [function.include]: Failed opening '**.php' for inclusion (in | Warning(エラーメッセージ) 2
8 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 2
8 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
8 Composer | 依存関係マネージャ 2
8 PHP用語 2
2024/3/29 1:01 更新