PHPでユーザがセッションタイムアウトを設定することは可能ですか?ユーザがphp session timeoutを設定しました
例:2人のユーザーが私のサイトに登録されています。私は各ユーザが独自のセッションタイムアウトを設定できるようにしたい。
PHPでユーザがセッションタイムアウトを設定することは可能ですか?ユーザがphp session timeoutを設定しました
例:2人のユーザーが私のサイトに登録されています。私は各ユーザが独自のセッションタイムアウトを設定できるようにしたい。
はい、ユーザーごとにカスタムセッションタイムアウトを設定できます。あなたはHow do I expire a PHP session after 30 minutes?に記載の方法を使用する代わりに、絶対的な有効期限を保存することができます:ここでは
// set expiration time
$_SESSION['EXPIRES'] = time() + $customSessionLifetime;
// validate session
if (isset($_SESSION['EXPIRES']) && (time() < $_SESSION['EXPIRES'])) {
// session still valid; update expiration time
$_SESSION['EXPIRES'] = time() + $customSessionLifetime;
} else {
// session invalid or expired
session_destroy();
session_unset();
}
$customSessionLifetime
は、ユーザーごとに別々に設定することができます。その値がsession.gc_maxlifetimeおよびsession.cookie_lifetime(セッションIDにCookieを使用する場合)以下であることを確認してください。
ありがとうございます。やってみます。 – brpaz
関連:[30分後にPHPセッションを期限切れにする方法は?](http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes/1270960#1270960) – Gumbo