有没有办法找出正在启动的会话。例如,类似于.net的global.ascx文件中的会话启动事件。要求是找到编号。用户在网站上的访问量。
而不是在posts或访问服务器期间每次都进行检查。php中有没有什么东西可以用来判断这个会话是不是一个新会话。该应用程序也使用了Zen框架。
发布于 2010-02-08 17:08:19
Zend_Session::isStarted()和Zend_Session::sessionExists()将告诉您会话是否已经启动。要找出它第一次启动的时间,您可以存储它创建的时间戳,方法是在第一次启动时将它添加到会话中。只需检查会话中是否已存在密钥started_at,如果不存在,则添加它和/或通知其他类执行某些操作。
发布于 2010-02-08 16:59:40
你实际上可以通过php来 global.ascx文件所做的事情,还有一些在线脚本可以用来跟踪在线用户,你需要谷歌来了解这一点。
发布于 2010-02-08 17:00:44
您可以使用memcache来实现该目的,或者简单地破解光盘上的文件(在Safraz answer中提到),或者使用数据库中的表来实现该目的。
Memcache在我看来是最好的解决方案,因为它很容易设置,而且它们已经提供了递增/递减计数器。这个解决方案的唯一缺点是你不能轻易地重置计数器。
https://stackoverflow.com/questions/2220420
复制相似问题