English | 简体中文 | 繁體中文
查询

SessionHandler::gc()函数—用法及示例

「 垃圾回收的函数,它是PHP的内置函数 」


SessionHandler::gc()是一个用于垃圾回收的函数,它是PHP的内置函数。它的作用是删除过期的会话数据。

用法:

bool SessionHandler::gc(int $maxlifetime): bool

参数:

  • $maxlifetime(必需):会话的最大生存时间,以秒为单位。

返回值:

  • 成功时返回true,失败时返回false。

示例:

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()函数进行垃圾回收操作。

补充纠错
上一个函数: SessionHandler::open()函数
下一个函数: SessionHandler::destroy()函数
热门PHP函数
分享链接