我正在寻找一种简单(无数据库)的方法来列出网站上有多少活跃用户。我能想到的最简单的方法是计算打开会话的数量。
这段代码应该管用:
$number_of_users = count(scandir(ini_get("session.save_path")));
当然不会,因为该目录的安全限制(应该有!!)。有谁知道在不更改目录权限的情况下访问此号码的另一种方法。
Note:我正在寻找一个选项不涉及数据库或降低 PHP 会话的安全性。
尾注:对于任何提出这个问题的人,我最终从 root 使用了一个 cronjob (每分钟运行一次),它做了类似的事情:
ls /var/lib/php5/ | wc -l > /var/www/sessioncount
确保/var/www/sessioncount
文件可由 apache 用户读取。然后你可以用 PHP 读取该文件:
$number_of_users = file_get_contents("/var/www/sessioncount");
在这种情况下,简单并不意味着没有数据库。另外,依靠会话来查看有多少活跃用户也是不可靠的。
如果您想走这条路,您可以执行一个由安全进程每隔几分钟运行一次的 cronjob,并将该计数保存到 PHP 读取的文件或数据库中。
但我建议走数据库路线。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)