我有一个学校项目的问题。当某人的会话结束时,我如何执行操作。例如,我想删除一个说用户在会话结束时已登录的文件。如果他关闭浏览器或者他有一段时间没有做任何请求?
问问题
1125 次
2 回答
4
没有办法直接跟踪这一点。但是,您可以使用数据库并将用户上次加载页面时存储在其中,然后在所有 X 分钟内运行一个 cron 作业,以检查哪些用户在最后 Y 分钟内没有做任何事情。
于 2013-02-01T20:14:02.667 回答
1
您可以通过编写自定义会话处理程序来做到这一点。
在此站点上,您会找到正确的解释:
http://phpmaster.com/writing-custom-session-handlers/
但是,请注意,“垃圾收集”(按照您的意愿清理文件)不会在会话关闭后直接发生!
PHP 使用一个设置“session.gc_probability”,表示一旦每 XXX 个请求,PHP 将寻找旧的/关闭的会话并开始进行垃圾收集
http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability
于 2013-02-01T20:21:28.927 回答