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()
기능을 자동으로 호출합니다.