检查是否正在使用PHP SessionID?

时间:2011-07-18 09:27:44

标签: php session timeout sessionid

在我的一个项目中,我使用sessionId将临时数据存储在数据库中,如果未使用sessionId,我将删除它们,是否有一种简单的方法来检查会话ID是否正在使用?

3 个答案:

答案 0 :(得分:1)

存储上次访问的时间戳,并删除时间早于当前时间X分钟的那些行。

答案 1 :(得分:1)

您可以使用session_name([string $ name]),

命名会话

示例:session_name('myname')

然后用session_id([string $ id])检查该名称是否有会话ID,

示例:

if(session_id('myname') != "")
       echo session_id('myname');
         else
      //your code here

答案 2 :(得分:0)

  

是否有一种简单的方法来检查会话ID是否正在使用?

如果您正在使用默认会话处理程序,那么检查会话文件是否存在并且自time()以来已被修改 - session_cache_expire()。

然而,更好的解决方案是使用数据库绑定的会话处理程序。当尝试从会话外部查看会话数据时,这会更灵活,您可以只进行简单的连接以查找匹配的数据,但解决问题的正确方法是在会话处理程序中实现会话管理代码(即删除会话时删除数据)!