2010-11-20 9 views
2

私は毎分データベースにpingして新しいエントリをチェックするWebアプリケーションを持っています。このページは実際には相互作用しないように設計されています...あなたはそれを開いたままにして、物事を表示します。このページはパスワードで保護されているため、ウェブブラウザなどで誰もクリックしなくてもクーペのためにサイトを開くことができます。私はそれが1日かかったかのようになった後、(Ajaxリクエストを介して)データベースのチェックを停止し、ページを手動でリフレッシュするとログインページに戻ります。私は、ログイン情報を持つセッションが期限切れになったためだと仮定しています。私は有効期限を設定したことはありませんが、一定の時間が経過すると自動的にセッションが破棄されますか?これを解決するにはどうすればよいですか?PHPのデフォルトのセッション有効期限は何ですか?

おかげ

すべての返信用

おかげで...うちだけでPHPが自分自身を設定変更すると有効期限が切れることはありませんし、セッションを設定する方法はありますか? php.iniのから

答えて

7

デフォルト値のsession.gc_maxlifetimeは1440秒です。したがってガベージコレクタは、最後の変更が少なくとも1440秒前に終了したときにセッションが期限切れになるとみなします。

セッションIDにCookieを使用する場合、別のlifetimeを持つ可能性があります。デフォルト値0です。session.cookie_lifetimeは、セッションCookieをセッションクッキーにします。これは、ブラウザセッションが終了したとき(ブラウザが終了したとき)に期限切れになることを意味します。

セッションの有効期限の詳細については、my answer on How do I expire a PHP session after 30 minutes?も参照してください。

1

。 Cookieの有効期間(秒単位)、またはブラウザが再起動されるまで の場合は0です。 ;私は間違っていない場合は、デフォルトになり http://php.net/session.cookie-lifetime session.cookie_lifetime = 0

。 0に設定するか(まだ設定されていない場合)、または別のCookieを使用するだけです。

関連する問題