SessionHandler::gc
清理舊會議
SessionHandler::gc()是一個用於垃圾回收的函數,它是PHP的內置函數。它的作用是刪除過期的會話數據。
用法:
bool SessionHandler::gc(int $maxlifetime): bool
參數:
返回值:
示例:
class MySessionHandler extends SessionHandler { public function gc($maxlifetime) { // 进行垃圾回收操作,删除过期的会话数据// 在这里可以根据需要自定义垃圾回收的逻辑// 例如,可以删除一周前的会话数据$expiredTime = time() - $maxlifetime; $query = "DELETE FROM sessions WHERE last_accessed < $expiredTime"; // 执行删除操作的代码// ... return true; // 垃圾回收成功} } // 设置自定义的会话处理器$handler = new MySessionHandler(); session_set_save_handler($handler, true); // 启动会话session_start(); // 执行其他操作... // 会话结束时,PHP会自动调用gc()函数进行垃圾回收
在這個示例中,我們創建了一個名為MySessionHandler
的自定義會話處理器類,並重寫了gc()
方法。在gc()
方法中,我們使用SQL語句刪除了一周前的過期會話數據。然後,我們通過session_set_save_handler()
函數將自定義的會話處理器設置為當前會話的處理器。最後,在會話結束時,PHP會自動調用gc()
函數進行垃圾回收操作。