代码之家  ›  专栏  ›  技术社区  ›  G__

在PHP中访问活动会话

  •  13
  • G__  · 技术社区  · 15 年前

    激励案例是显示站点上所有当前活动用户的列表,其中用户名存储在每个用户的PHP会话中。

    注意:我知道我可以通过数据库(甚至文件系统)创建自己的状态,但我正在寻找一种利用内置PHP会话机制的方法。

    4 回复  |  直到 15 年前
        1
  •  7
  •   bastos.sergio    9 年前

    看到这些反应,虽然有可能,但并不意味着你 应该

    这个 对的 方法是实现你自己的 session handler . 其实没那么难。

        2
  •  8
  •   Alastair zcrar70    13 年前

    <?php
    print_r(scandir(session_save_path()));
    ?>
    

    检查特定会话

    <?php
    session_start();
    echo (file_exists(session_save_path().'/sess_'.session_id()) ? 1 : 0);
    ?>
    

    上次更改会话文件的时间

    <?php
    session_start();
    echo filectime(session_save_path().'/sess_'.session_id());
    ?>
    

    正如我们所做的那样,以这种方式处理会话并不是最佳实践,但如果需要,这些方法将可以工作,而无需检查/修改会话存储路径(如果您切换到另一个具有不同配置的服务器,则很有用)。

        3
  •  1
  •   Jim    15 年前

    phpinfo() ). 这些都是会议。您应该能够检查文件时间,以查看它们是否在最后x分钟内处于活动状态。

        4
  •  0
  •   Abdul Majeed    14 年前

    你不能使用会话来做这件事,你将不得不存储在数据库中的在线用户,只需设置一个时间戳或类似的,显示所有谁是活跃的5分钟内,否则删除他们的记录。