2010-02-08 59 views
0

有沒有辦法找出正在啓動的會話。就像.net的global.ascx文件中的會話啓動事件一樣。要求是找到否。用戶在該網站上完成的訪問次數。
PHP會話啓動器檢測訪客計數

而不是檢查每個帖子在帖子或獲取到服務器。有沒有在PHP的東西,如果會議是一個新的。 Zen框架也用於應用程序。

+0

你的意思是有沒有辦法知道用戶會話ID? – RageZ

+0

實際上仔細閱讀這個問題,他只是想要一種服務器singleton – RageZ

+0

Zapping,你需要先定義你的訪問意味着什麼。是按會話,按天,等等。 –

回答

1

Zend_Session::isStarted()Zend_Session::sessionExists()會告訴你會話是否已經開始。要找出它第一次啓動的時間,可以通過在第一次啓動時將它添加到會話中來存儲它創建的時間戳。只需檢查會話中是否已存在密鑰started_at,如果不添加和/或通知某個其他班級關於它做某事。

1

你實際上可以mimic什麼是通過php的global.ascx文件完成的,也有一些腳本可以在線跟蹤在線用戶,你需要谷歌有關。

0

爲此目的,您可以使用memcache,或者只是使用光盤上的文件(在Safraz答案中提及)進行破解,或者爲此目的在數據庫中使用表格。

Memcache對我來說似乎是最好的解決方案,因爲它很容易設置,並且它們已經提供了遞增/遞減的計數器。此解決方案的唯一缺點是無法輕鬆重置計數器。