PHPではサーバに保存されてるセッションデータはガベージコレクタによって削除されるということがわかりました。
そのタイミングはセッションの開始時であるということも。
この削除の流れというのは、
ユーザがサイトにアクセス
↓
ブラウザのPHPSESSIDのCOOKIEをチェック
↓
そのCOOKIEがあれば、
サーバにある該当のセッションデータの有効期限を調べる
↓
有効期限が切れてたらサーバのセッションデータ削除
という流れで合ってますでしょうか?
この流れで行けば問題なくセッションデータは削除されると思うのですが、
もしPHPSESSIDのクッキーを削除していた場合、サーバにあるセッションデータはどのタイミングで削除されるのでしょうか?
実際にPHPSESSIDのクッキーを削除してアクセスしてみると、
新しいセッションIDが割り振られ、古いセッションデータは有効期限を過ぎても残ったままでした。
このような場合はcronとかでチェックして、古いセッションデータを削除するしか方法はないのでしょうか?
よろしくお願い致します。
PHPのセッションについて②
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: PHPのセッションについて②
殆ど同じ話題なので1つのトピックにまとめて頂けますか?
エクレさんも回答者も2つのトピック同時進行は辛いです。
↓ こちらは閉鎖して、まとめるトピックはこちら。
http://dixq.net/forum/viewtopic.php?uid ... 47&start=0
エクレさんも回答者も2つのトピック同時進行は辛いです。
↓ こちらは閉鎖して、まとめるトピックはこちら。
http://dixq.net/forum/viewtopic.php?uid ... 47&start=0
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: PHPのセッションについて②
こちらを私が解決にしておきます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。