回答
雖然沒有內置機制,但如果實現自己的會話處理程序,則可以對此做一些操作。
請參閱http://nl2.php.net/manual/en/function.session-set-save-handler.php瞭解一些想法。
如果用戶沒有向服務器發出請求,除非使用數據庫系統,否則無法可靠地知道他們的會話何時結束。例如,你有一個會話表:
session_id | user_id | session_start_time
每當你加載一個頁面,你看看session_start_time是否足夠老,可以刪除。例如:
if (($data['session_start_time'] + USER_SESSION_TTL) < time()) {
// delete row
}
USER_SESSION_TTL
是該用戶的會話保持活着,如果他是不活動的時間。
現在,如果用戶沒有與他關聯的會話,則可以安全地假定他處於離線狀態。我概括了一下,但它可以應用於很多系統。
希望這會有幫助
謝謝,但這部分是什麼意思。 USER_SESSION_TTL – 2012-03-06 22:20:23
我爲該部分添加了說明。它基本上是用戶會話保持活躍的時間(以秒爲單位),如果他沒有訪問您的網站(不活躍)。 – vanneto 2012-03-06 22:21:24
- 1. 會話被破壞掉了PHP
- 2. 會話變量被破壞
- 3. TokBox會話被破壞
- 4. PHP會話和cookie破壞
- 5. 提交後會話被破壞,爲什麼?
- 6. 會話在註銷時不會被破壞?
- 7. 什麼時候Android Singleton被破壞?
- 8. 奇怪的錯誤會話被破壞
- 9. 會話不破壞
- 10. PHP會話在用戶代理更改後被破壞
- 11. 會破壞PHP
- 12. 爲什麼PHP會話在清除瀏覽器的cookie時破壞
- 13. 爲什麼字符串變成`this`時會被破壞?
- 14. 根據PHPSESSID值破壞WordPress PHP會話
- 15. session_destroy無法破壞會話php
- 16. 當會話被破壞時註冊一個函數在PHP中運行
- 17. 破壞特定會話的會話Funda
- 18. 新的PHPMailer()破壞會話
- 19. 無法破壞鉻會話
- 20. 使用CakePHP破壞會話
- 21. Grails 1.3.5:會話被破壞時更新用戶表
- 22. 爲什麼我的代碼被破壞?
- 23. 爲什麼Wordpress Jquery被破壞?
- 24. 爲什麼AES/CTR/NoPadding被破壞?
- 25. 爲什麼Tkinter Toplevel物體被破壞?
- 26. 爲什麼我的System.nanoTime()被破壞?
- 27. 爲什麼我的服務被破壞?
- 28. 爲什麼我的Debug.Write被破壞?
- 29. PHP Cookie破壞不起作用,我做錯了什麼?
- 30. 爲什麼「display:table-cell」在「position:absolute」時被破壞
你的意思是,如果你破壞了會話?或者,如果用戶停止訪問您的網站? – Brad 2012-03-06 22:14:28
您是否在使用應用程序框架(例如,Symfony,CodeIgniter,Cake等)? – 2012-03-06 22:15:30
好吧,我想我的網站訪問我的網站。所以,如果他們關閉瀏覽器等效果 – 2012-03-06 22:15:40