1

好的,所以我想检查我的用户是否在线,我认为这样做的一个好方法是使用 laravel 提供的会话表。我是一个新手,所以任何人都可以首先向我解释这些数据的含义。

创建表sessionsidVARCHAR(40)非空, last_activityINT(10)非空, data文本非空,主键(id));

last_activity 是一个unix时间戳,我很清楚。

我的 id = lGBzJ0dIWiebrwjFlkQAE19NHuNHvsPRVS7e4CRO

这等于 cookie 值,但这对我来说并没有什么意义。

我的数据 = a:3:{s:5:":new:";a:0:{}s:5:":old:";a:0:{}s:10:"csrf_token";s :40:"XOZbMp8mrVUbu2Lk4c1cEdCoJUQIL3tSeHaztH1v";}

这 2 是什么意思,我如何使用它们在 laravel 中从它们派生用户 ID?

4

1 回答 1

1

Laravel 不会直接在会话表中存储对用户的引用。拥有会话的会话系统无关紧要,并且可能存在没有用户附加到它们的会话(即,在有人登录之前)。

数据列是PHP 序列化的,所以如果你真的想读取数据,你可以。

Laravel 将会话数据分为 3 类:持久性、旧闪存数据、新闪存数据。这就是为什么您会在粘贴的代码中找到两个空数组“:new:”和“:old:”。


为什么你的用户表上没有“最后一次看到”列,每次用户加载页面时都触摸它,如果距离他们最后一次看到的时间 < x 分钟,那么他们可以被认为是“在线”?

于 2013-06-12T08:16:49.777 回答