SessionHandler::gc
Nettoyer les vieilles sessions
SessionHandler :: GC () est une fonction pour la collecte des ordures, c'est une fonction intégrée pour PHP. Son objectif est de supprimer les données de session expirées.
usage:
bool SessionHandler::gc(int $maxlifetime): bool
paramètre:
Valeur de retour:
Exemple:
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()函数进行垃圾回收
Dans cet exemple, nous avons créé une classe de processeur de session personnalisée appelée MySessionHandler
et remplacé gc()
. Dans gc()
, nous utilisons des instructions SQL pour supprimer les données de session expirées il y a une semaine. Ensuite, nous définissons le processeur de session personnalisé sur le processeur de la session en cours via session_set_save_handler()
. Enfin, à la fin de la session, PHP appellera automatiquement la fonction gc()
pour les opérations de collecte des ordures.