![]() |
1
4
我做了某事 真正地 讨厌一次。每次一个会话被页面刷新/获取等“更新”时,我都会更新数据库行上的时间戳。第二个守护进程每10分钟轮询一次数据库,并执行“清理”操作。 您将找不到任何本地PHP设施来实现您的目标。会话超时不在后台运行。您甚至不知道会话是否超时,除非超时会话尝试其他访问。在这一点上,几乎不可能陷阱,你可以作出你的决心,并妥善处理。 对于这个问题,我建议使用队列和轮询架构。这很简单,肯定会奏效的。如果您担心事务性能,请添加memcached。 |
![]() |
2
0
我假设您使用的是标准的基于PHP文件的会话。如果是这样的话,那么PHP将根据php.ini中的session.gc_u*配置参数对过时会话进行垃圾收集。您可以重写这些代码以完全禁用垃圾收集器,然后滚动您自己的GC脚本。
您可以检查文件上的时间戳(使用stat()在循环中快速简单地执行)以查找“旧”会话,或者分析每个文件中的数据以检查列出上次访问时间的变量。不管怎样,会话文件只是
|
![]() |
3
-1
javascript上的窗口关闭事件怎么样?所以基本上,当会话站点的所有窗口都关闭时,会话就会被破坏。所以,当最后一个窗口关闭时(通过附加的JS检查来检查),向服务器发送Ajax请求。 |
![]() |
Garrett Rose · 会话数据如何在页面之间传递? 6 年前 |
![]() |
Viktor Rudi · PHP-更改会话值以更改语言 6 年前 |
![]() |
John_Cartor · PHP登录(会话问题) 6 年前 |
![]() |
glembo · 基于会话令牌认证问题的Laravel 5.6购物车 6 年前 |
![]() |
Rehan · 登录验证php后创建会话 6 年前 |
|
joko · 通过会话、两个目录使用多种语言 6 年前 |