我正试图通过计算创建的会话文件总数来找出我的网站的在线用户数量,以减少数据库访问。你能解释一下我该怎么做吗?是否可以访问存储在这些文件中的数据(例如用户ID),以查找在线用户。
计算服务器上的会话文件数:
$dh = opendir(session_save_path());
$users = 0;
while (($file = readdir($dh)) !== false) {
if (($file != '.') && ($file != '..')) {
$users++;
}
}
closedir($dh);
$online = $users;
您想要在您的网站上的用户总数,还是想要访问id的用户总数?
会话文件的数量不等于当前用户的数量。当用户离开您的网站时,会话不会结束。
数据库解决方案应该更好;还可以考虑谷歌分析解决方案。谷歌分析跟踪用户在您网站上的导航。