設定したログイン時間よりも短い時間でログアウトしてしまう
a-blog cms では、ログインセッション時間を「.env」ファイルで設定できるようになっています。
デフォルトでは、72時間有効です。
# セッション
SESSION_COOKIE_LIFETIME=259200 # セッションのCookie有効期限
ただしサーバーの環境によっては、30分程度でログアウトしてしまう現象が発生することがあります。
原因
セッション管理にはPHPのセッションの仕組みを利用しています。 このセッション情報はデフォルトですとサーバー上のファイルとして管理しているのですが、このセッションファイルの有効期限が短い可能性がございます。
PHPデフォルトの設定だと、1/100の確率で、24分より古いセッションファイルが消えるので、これが影響している可能性が高いです。
session.gc_maxlifetime
サーバに保存されているセッションファイルを保護する有効期限。
session.gc_probability / session.gc_divisor
セッションファイルが消える確率。「session.gc_probability / session.gc_divisor」の確率で削除されます。
対策
php.ini で「session.gc_maxlifetime」の期限を伸ばしていただくか、config.user.php に以下コードを設定ください。
ini_set('session.gc_maxlifetime', 259200); // 72時間を設定