我已经查看了一些类似帖子checking status of session with session id和How to tell if a session is active?的帖子,但它们似乎并不具体到我想要实现的目标。< / p>
我正在构建一个购物车,用户可以使用$_SESSION
和session_id()
添加到该购物车,无论他们是否已登录。
向购物车添加商品会使用会话ID将条目添加到购物车表。
长话短说,如何从会话ID列表中找出哪些会话处于活动状态,哪些会话处于活动状态(用于crontab),以便从数据库中的购物车表中删除多余的项目? / p>
答案 0 :(得分:0)
如果您有足够的权限,可以使用SessionHandler
执行此操作。 (适用于PHP&gt; 5.4.0)
class MySessionHandler extends SessionHandler
{
public function __construct()
{
// database initialization code
}
public function destroy($id)
{
$ret = parent::destroy($id);
// database uninitialization code
return $ret;
}
}
然后在你的代码中:
ini_set('session.save_handler', 'files');
$handler = new MySessionHandler();
session_set_save_handler($handler, true);
session_start();
在使用之前,我建议您仔细阅读我上面链接的文档。
但是,由于您正在构建购物车,因此将购物车信息存储在会话变量中会更容易。