PHP SessionHandler::gc 会话函数



  • 定义和用法

    SessionHandler::gc - 清理旧会话
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 v5.4.0+支持 支持
  • 语法

    SessionHandler::gc ( int $maxlifetime )
    
    清理过期的会话。 当会话启动或调用session_start() 时,由PHP在内部随机调用。 调用的频率基于session.gc_divisor和session.gc_probability配置指令。 此方法包装在session.save_handler ini设置中定义的内部PHP保存处理程序,该设置是在session_set_save_handler()设置此处理程序之前设置的。 如果通过继承扩展此类,则调用父级gc方法将为此方法调用包装器,因此将调用关联的内部回调。 这使得该方法可以被忽略和/或拦截和过滤。 有关该方法预期要执行的操作的更多信息,请参见SessionHandlerInterface::gc() 上的文档。
  • 参数

    参数 必需的 描述
    maxlifetime 在最近的maxlifetime秒内未更新的会话将被删除。
  • 返回值

    会话存储的返回值(通常成功返回 0,失败返回 1)。
  • 示例

    function is_session_started()
    {
        if ( php_sapi_name() !== 'cli' ) {
            if ( version_compare(phpversion(), '5.4.0', '>=') ) {
                return SessionHandler::gc() === PHP_SESSION_ACTIVE ? TRUE : FALSE;
            } else {
                return session_id() === '' ? FALSE : TRUE;
            }
        }
        return FALSE;
    }
    
    // Example
    if ( is_session_started() === FALSE ) session_start();
    
  • 相关函数

    session_id() - 获取/设置当前会话 ID
    session_create_id() - 创建一个新的会话id