このトピックに関するいくつかの記事を読んだが、依然としてクライアント側のセッションCookie、サーバー側のセッションファイル、およびPHPはガベージコレクション中にセッションを削除または保持することを「ランダムに」選択します。セッションが がを破壊され、中「アクティブでない」時間が過ぎるまでPHPセッションを維持する
- ユーザがログインすると、ユーザーがアクティブでない場合、セッションは1時間の期間*
- 始まる:
私は確実にしようとしている動作です
*これは私のサイトにとっては非常に重要です。なぜなら、ユーザーは同じページで1時間も "アイドル"になっている可能性があるからです。実際にはアイドル状態ではありません。彼らは、私がこれまで使用しています何など、
をビデオを見て、長い報告書を構成することができることである。
session_start();
setcookie(session_name(),session_id(),time()+3600);
このコードは、すべてのページのロード時に実行されます。
また、setIntervalを使用して毎分AJAXリクエストを発しています。これは、ユーザーが明らかに「アイドル」であるページに上記のコードを含むPHPスクリプトを読み込みます。
必要な動作を保証する方法はありますか?または私は何かを逃していますか?おそらく、この動作を保証するためのよりクリーンな方法があります。
事前に感謝します。
[PHPでセッションタイムアウトを変更するにはどうすればいいですか?](https://stackoverflow.com/questions/8311320/how-to-change-the-session-timeout-in-php) –
セッションのガベージコレクションの良い説明:https://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes/1270960#1270960 – CD001