PHP会话,超时和跟踪

时间:2015-03-04 10:15:55

标签: php mysql

我正在为我的一个客户开发一个前端驱动的应用程序。该应用程序有一个“开始销售会话”的概念,它在逻辑上与标准会话不同,但在技术上是相同的。

在会话开始时,会话开始时间保存在数据库中,并且应该在6小时后自动过期。

当用户登录并在浏览器上使用应用程序时,上述情况很好,因此我可以检查当前时间和会话开始时间之间的差异并做必要的事情。

我想知道是否有一种方法可以在数据库中6小时后自动使会话过期,而无需用户在线或在浏览器上使用该应用程序。

注意:数据库在Mysql上。

提前致谢。

2 个答案:

答案 0 :(得分:0)

对此最好的解决方案是Cron Job。您可以编写一个PHP脚本,查询数据库中是否有超过6小时的任何打开会话,然后关闭它们。然后,在网站控制面板中设置一个Cron作业,每隔一段时间调用一次脚本。每10分钟一次就足以满足您的要求。

答案 1 :(得分:-1)

您可以在php配置中设置session max-lifetime

session.gc_maxlifetime 21600

但是如果你坚持使用数据库,你应该调查cronjobs谁调用可以检查年龄和删除会话的脚本。