PHPセッションの有効期限について質問です。

これらの有効期限のカウントがリセットされるのは、「参照」した時なのか「データをセット」した時のどちらなのでしょうか。

例えばセッションの有効期限を3時間にしている場合、初めてアクセスした時に1度セッションにデータがセットされ、その後そのセッションを持ち歩いていただけで新たにセットしなかった場合、3時間後には持ち歩いていたセッションが無効になってしまうのでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:sasada No.1

回答回数1482ベストアンサー獲得回数133

ポイント50pt

 標準的な使い方では、有効期限のカウントがリセットされるのはsession_start()が評価されたときです。

 セッションを持ち歩いている場合、(インターバルが有効期限以内なら)タイムアウトしません。3時間は長すぎだとは思いますが・・・(^^;

 もっとも、httpのキャッシュを有効にしている場合は、同一URLを巡回している間に期限切れになる可能性があります。(phpは、デフォルトではキャッシュしない設定になってます)

id:wintarsnow

回答ありがとうございます!

>カウントがリセットされるのはsession_start()が評価されたとき

了解です。

私の調べ方が悪いのか、こういう情報は見つからなくて(あまりにも基本的なことということなのかしら…)、悩んでおりました。助かりました。

ちなみにsession.cache-limiterはnocacheにしております。

ところで

>3時間は長すぎ

というのは、「3時間もインターバルが空くのは長すぎ」という意味ですね? それとも「3時間に設定しているのは長すぎ」の意味でしょうか。一応デフォルトが3時間になっているのでそうしようと思っているのですが、もっと短くするのが一般的??

2004/10/23 22:10:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません