会话在php结束时如何做某事

时间:2013-02-01 20:09:06

标签: php session

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

2 个答案:

答案 0 :(得分:4)

无法直接跟踪此信息。但是,您可以在上次用户加载页面时使用数据库并在其中存储,然后在所有X分钟内运行一个cron作业,检查哪些用户在最后Y分钟内没有做任何事情。

答案 1 :(得分: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