• ベストアンサー

PHPセッションの有効期限の調整

ログイン処理を有するサイトをPHPで記述しています。ログインがあればセッション変数に値を格納し、このデータがあれば、再度ページのアクセス時にパスワードを要求を省略するようにプログラムを進めています。 ここで質問なのですが、セッションが有効になっているあいだに、対象ページへのアクセスがあったときに、そのセッションの期限を延長する方法はありますでしょうか。 また、session.cookie_lifetimeは、プログラム内でクッキーの制御を特に明示していない場合は、どのタイミングが起点として時間が決まるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

#デフォルトでは、session.cookie_lifetimeは0です。つまり「ブラウザを閉じるまで」有効です。 何らかの時間を指定した場合には、ブラウザにレスポンスヘッダを返す時点で有効日時を指定していますから、そこが起点です。 デフォルトが0ですから「ブラウザを開いたままなのに切れる」ケースではsession.gc_maxlifetimeの方が効いているのではないでしょうか?こちらはセッションファイルへの最終アクセス日時が起点ですので、(session_startで)セッションファイルへアクセスしていれば更新されます。

その他の回答 (1)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

ANo.1です。 session_set_save_handlerを使ってセッションハンドラを自前で書けば(gcも有効期限が渡されるだけで、実際の処理は自分で書くので)如何様にも処理できるのではないでしょうか?