PHP сессии разрушают через поддомены - PullRequest
0 голосов
/ 23 января 2011

Это может быть продолжение вопроса: Сеансы PHP в поддоменах

У меня успешный многодоменный сеанс, просто использующий это:

session_set_cookie_params(0, '/', '.domain.com');
session_start();

Проблема в том, когда я пытаюсь выйти из системы domain.com.Я перепробовал все для выхода из системы, даже все это, как предложено в руководстве по PHP session_destroy():

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!

if (ini_get("session.use_cookies")) {
  $params = session_get_cookie_params();
  setcookie(session_name(), '', time() - 42000,
    $params["path"], $params["domain"],
    $params["secure"], $params["httponly"]
  );
}

Но это не работает.Сессия еще жива, когда я посещаю subdomain.domain.com.

Как я могу это сделать?

Спасибо!

1 Ответ

0 голосов
/ 21 апреля 2011

Вы видели, начался ли сеанс, прежде чем пытаться его уничтожить?

if (!isset($_SESSION)) session_start();
if (isset($_COOKIE['auth_token'])) {
remove_token($_COOKIE['auth_token']);
setcookie("auth_token", "", time()-3600, "/", ".domain.com");
}
session_destroy();

Это рабочий код из моей среды. Надеюсь, поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...