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()関数を使用して、指定された最大ライフサイクルを超えるセッションデータをクリアします。