ログインしたメンバーエリアを持つサイト/システムがあり、ユーザーがサイト/システムで作業しているときにログアウトすることはめったにありませんが、非常に不便だとしましょう。
ユーザーが長時間アイドル状態ではなかったので、おそらくセッションの有効期限が切れています。また、セッションがアイドル状態の場合でも、定期的な AJAX 要求、いわゆるハートビートを追加しました。これにより、セッションのアクセス時刻と変更時刻が更新されます。ユーザーが何かをクリックするか、ハートビートが呼び出されるたびに、 touch($session_file) を追加しました。セッションIDも再生成してみました。何も助けませんでした。
残念ながら、これまでのところ、問題をローカルで再現することはできませんでした。これは、リクエストが増えると頻繁に発生するためです。いくつかの php.ini パラメータ:
session.use_cookies = 1
session.use_only_cookies = 1
session.cookie_lifetime = 0
session.gc_probability = 1
session.gc_divisor = 1500
session.gc_maxlifetime = 10800