SessionHandlerInterface::gc
清理舊會議
函數名稱:SessionHandlerInterface::gc()
適用版本:PHP 5 >= 5.4.0, PHP 7
函數描述:該函數在會話垃圾回收過程中被調用。它的目的是清除過期的會話數據。
用法:
class MySessionHandler implements SessionHandlerInterface { public function open($savePath, $sessionName) { // 在这里打开会话存储return true; } public function close() { // 在这里关闭会话存储return true; } public function read($sessionId) { // 在这里读取会话数据return ''; } public function write($sessionId, $data) { // 在这里写入会话数据return true; } public function destroy($sessionId) { // 在这里销毁会话数据return true; } public function gc($maxlifetime) { // 在这里执行会话垃圾回收return true; } }
$handler = new MySessionHandler(); session_set_save_handler($handler, true);
$handler->gc($maxlifetime);
示例:
class MySessionHandler implements SessionHandlerInterface { // ... public function gc($maxlifetime) { // 清除超过$maxlifetime秒的会话数据$expiredTime = time() - $maxlifetime; // 执行清除操作的代码return true; } } $handler = new MySessionHandler(); session_set_save_handler($handler, true); // 调用gc()函数进行会话垃圾回收$handler->gc(ini_get('session.gc_maxlifetime'));
以上示例展示瞭如何實現SessionHandlerInterface接口的gc()方法,並在自定義的會話處理程序中使用gc()函數進行會話垃圾回收。在示例中,gc()函數被用來清除超過指定最大生命週期的會話數據。