Session handler assigned by session_set_save_handler().
Cleans up a specific session.
$sid: Session ID.
function _drupal_session_destroy($sid) {
global $user;
// Nothing to do if we are not allowed to change the session.
if (!drupal_save_session()) {
return;
}
$is_https = Drupal::request()
->isSecure();
// Delete session data.
db_delete('sessions')
->condition($is_https ? 'ssid' : 'sid', $sid)
->execute();
// Reset $_SESSION and $user to prevent a new session from being started
// in drupal_session_commit().
$_SESSION = array();
$user = drupal_anonymous_user();
// Unset the session cookies.
_drupal_session_delete_cookie(session_name());
if ($is_https) {
_drupal_session_delete_cookie(substr(session_name(), 1), FALSE);
}
elseif (settings()
->get('mixed_mode_sessions', FALSE)) {
_drupal_session_delete_cookie('S' . session_name(), TRUE);
}
}