Уничтожение многодоменной сессии в PHP - PullRequest
0 голосов
/ 27 января 2011

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

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

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

Этот код работает отлично, и если я захожу на domain.com или subdomain.domain.com, я вижу VESS'ы без проблем и все работает

Проблема заключается в том, что я пытаюсь выйти из домена 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"]
  );
}

1) session.use_cookies включен и правильно настроен на сервере 2) Этот код убивает сеанс в основном домене, но не в subdomain.domain.com 3) $ params показывает правильную информацию:

Array
(
    [lifetime] => 0
    [path] => /
    [domain] => .domain.com
    [secure] => 
    [httponly] => 
)

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

Любая помощь, пожалуйста! :)

Спасибо!

1 Ответ

3 голосов
/ 27 января 2011

Простое использование session_destroy() для уничтожения сеанса.

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