在我的一个项目中,我使用sessionId将临时数据存储在数据库中,如果未使用sessionId,我将删除它们,是否有一种简单的方法来检查会话ID是否正在使用?
答案 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()。
然而,更好的解决方案是使用数据库绑定的会话处理程序。当尝试从会话外部查看会话数据时,这会更灵活,您可以只进行简单的连接以查找匹配的数据,但解决问题的正确方法是在会话处理程序中实现会话管理代码(即删除会话时删除数据)!