web-dev-qa-db-ja.com

Laravel 5セッションの有効期間

Laravel config/session.php

/*
|--------------------------------------------------------------------------
| Session Lifetime
|--------------------------------------------------------------------------
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
| to immediately expire on the browser closing, set that option.
|
*/

'lifetime' => 120,
'expire_on_close' => true,
'expired-session-redirect' => url(env('APP_URL'))

セッションの存続期間を120分に設​​定しましたが、ユーザーは120分前にログアウトしているように感じます。

それはタイプミスですか?彼らは2分である120秒を意味しますか?

誰もがこれにいくつかの光を当てることができますか?

14
kyo

Php.iniで以下を確認してください。

session.gc_maxlifetime-デフォルト1440秒-24分

session.gc_maxlifetimeは、データが「ガーベッジ」として認識され、潜在的にクリーンアップされるまでの秒数を指定します。セッション開始時にガベージコレクションが発生する場合があります(session.gc_probabilityおよびsession.gc_divisorに依存)。

session.cookie_lifetime-デフォルト0

session.cookie_lifetimeは、ブラウザに送信されるCookieの有効期間を秒単位で指定します。値0は、「ブラウザが閉じられるまで」を意味します。デフォルトは0です。session_get_cookie_params()およびsession_set_cookie_params()もご覧ください。

Laravel設定よりも時間が短い場合、ローカルphp.iniにはpreference over Laravel =設定。

増やすか、コメント/削除するだけです。

解決されない場合、アプリの何かがセッションを破壊しています。

15
Troyer