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ステートメントを使用して、1週間前に期限切れのセッションデータを削除します。次に、 session_set_save_handler()
関数を介して、カスタムセッションプロセッサを現在のセッションのプロセッサに設定します。最後に、セッションの終わりに、PHPはごみ収集操作のgc()
関数を自動的に呼び出します。