如何删除会话相关数据
假设我将一些与会话 ID 关联的数据存储在数据库中。当php中的会话超时时,如何删除数据(我不想用所有垃圾数据填充我的文件服务器。)?
php 中有没有回调函数可以调用?
say i store some data associated with a session id in a database . how do i delete the data when the session is timeout in php(i do not want to fill my file sever with all junk data.)?
is there any call back function to call in php ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以编写 php 脚本
并使用 JQuery 在 uload 事件上使用 ajax 访问此脚本
You can write php script
and access this script with ajax on uload event with JQuery
让具有会话的用户在每次发出请求时返回到您的数据库。 (不是新行,而是更新他的行,这样你就不会填充你的数据库)。
然后使用 cronjob 或类似的工具清理最后报告时间戳早于会话超时值的所有会话。
Have the user with the session report back to your database every time he makes a request. (not a new row but update his row so you wont fill your db).
Then have a cronjob or something similar clean up all sessions that have a last report timestamp older than your session timeout value.
我不知道这本身是否符合回调资格,但也许您可以利用销毁处理程序在显式会话终止时删除过时的数据库信息?
http://php.net/manual/en/function。会话集保存处理程序.php
I don't know if this qualifies as a callback per se, but maybe you could leverage the destroy handler to remove the stale database information upon explicit session termination?
http://php.net/manual/en/function.session-set-save-handler.php