PHP セッションを使用する場合、ユーザー アクティビティの継続時間を延長するためにセッション タイムアウトを変更する必要がある場合があります。セッションが期限切れとみなされる前に。 php.ini ファイルを変更することは可能ですが、このファイルにアクセスできない状況が発生する可能性があります。
そのような場合でも、PHP コードを使用してセッション タイムアウトを延長することができます。ただし、厳密なセッション タイムアウトを実装するには、厳格な適用を保証するコード実装が必要であることを理解することが重要です。
厳密な制限ではなく下限を受け入れてもよい場合を使用すると、カスタム ロジックを使用せずにこのパラメーターを簡単に設定できます。 Cookie を使用して実装されたセッションの場合、次のパラメータを微調整できます。
ini_set('session.gc_maxlifetime', 3600); // Server keeps session data for at least 1 hour session_set_cookie_params(3600); // Clients forget their session ID after 1 hour
サーバーがセッション データを 1 時間保持するように設定し、同じ時間枠内でセッション ID を忘れるようクライアントに指示することで、効果的に設定を行うことができます。セッション期間の上限。この結果を達成するには、両方の手順が不可欠であることに注意してください。
クリティカルな環境では、カスタム ロジックを実装してセッションの非アクティブ状態に上限を設定し、厳密な時間制限。
session_start(); $now = time(); if (isset($_SESSION['discard_after']) && $now > $_SESSION['discard_after']) { session_unset(); session_destroy(); session_start(); } $_SESSION['discard_after'] = $now + 3600; // Sets the upper limit to 1 hour
セッション データ内でセッションの有効期限を追跡することにより、セッションに厳密な時間枠を強制します。 use.
セッション ID を使用する場合は、セッション ID が予測不可能であることを確認するために、必要に応じて session_regenerate_id を使用して再生成する必要があることに注意してください。
以上がphp.ini を変更せずに PHP セッションのタイムアウトを延長するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。