了解Laravel会话处理程序

时间:2019-07-18 20:04:25

标签: laravel laravel-5

我试图了解Laravels会话处理程序,但无法在线找到任何内容。此刻,我正在session.php

'lifetime' => 10,

我已将会话驱动程序设置为文件。因此,根据我的阅读,这会将会话的空闲超时设置为10分钟。

那么在这种情况下,空闲意味着什么?我假设这意味着如果10分钟内没有请求发送到服务器,它将过期。它是否正确?

还如何判断10分钟内是否未发送请求?我已经查看了存储中的会话文件,但没有看到任何时间戳。

那么所有这些工作到底如何?

谢谢

1 个答案:

答案 0 :(得分:0)

是的,您是正确的:如果在生存期配置值之后未发送任何请求,则会话将被破坏。

Illuminate\Session\FileSessionHandler类具有一个gc()函数,它是一个垃圾回收器函数,有可能在每个请求上被调用,您可以使用session.lottery配置值来控制机会。此功能会销毁每个具有比现在更旧的时间戳的生存期的会话文件。

如果要查看源代码,可以在文件Illuminate\Session\FileSessionHandler中找到vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php类。