2

我有一个学校项目的问题。当某人的会话结束时,我如何执行操作。例如,我想删除一个说用户在会话结束时已登录的文件。如果他关闭浏览器或者他有一段时间没有做任何请求?

4

2 回答 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 回答