ale*_*ane 5 session laravel laravel-5.7
Laravel 5.7 中有没有办法找出用户当前会话到期之前还剩多少时间?
编辑
我还想检查来宾和登录用户的当前会话何时到期。
此外,在当前的答案中,似乎存在冲突的想法,即会话将在登录后恰好“SESSION_LIFETIME”分钟过期,而其他人则认为会话在上次用户活动后过期。最好澄清哪个是正确的。然后还有如何获取最后的活动时间以及会话中的活动的分类。
另外,我认为 Session::activity() 已在 Laravel 5.7 中删除。
可能的解决方案
感谢下面的@bharat-geleda,如果您使用 Laravel 5.7 并在数据库中存储会话,这是一个可行的解决方案。
$last_activity = \DB::table('sessions')->select('last_activity')->where('id', session()->getId())->first()->last_activity;
$session_time_remaining_minutes = ($last_activity + (\Config::get('session.lifetime') * 60) - time()) / 60;
dd($session_time_remaining_minutes);
Run Code Online (Sandbox Code Playgroud)
我目前不清楚“last_activity”何时更新,但页面刷新时不会发生这种情况。
小智 1
如果你想知道用户何时登录,将其存储在数据库用户表中,并且你可以从 config/sessions.php 知道你的会话在过期之前还有多长时间,将两者放在一起将允许你计算它在过期之前的时间用户会话过期。
| 归档时间: |
|
| 查看次数: |
5545 次 |
| 最近记录: |