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