PHP Сеансы не переносятся через поддомены подстановочных знаков даже с session_set_cookie_params - PullRequest
0 голосов
/ 06 марта 2020

У меня есть веб-сайт, который предоставляет всем зарегистрированным пользователям домены, такие как user.example.com , но мои сеансы входа в систему не переносятся на субдомены, если у меня нет www in URL-адреса, подобного www.user.example.com но я не хочу использовать www in домен. Вот код, который у меня есть для моего обработчика сеанса:

class sessionMatrix{
    function initSession(){
        $x = explode('.', strtolower($_SERVER["HTTP_HOST"]));
        $y = count($x);

        if ($y == 1)
        {
            $host = $x[0];
        }
        else
        {
            $host = '.' . $x[$y-2] . '.' . $x[$y-1];
        }

        $sess_name = session_name();
        session_set_cookie_params(0, '/', '.example.com');
        if (session_start())
        {
            setcookie($sess_name, session_id(), NULL, '/', "$host", FALSE, TRUE);
        }
    }

    function setSessions($sessionData){
        foreach($sessionData as $key => $value){
            $_SESSION[$key]=$value;
        }
    }

    function leaveSession(){
        session_unset();
        session_destroy();
    }
}

?>

Любая помощь будет принята с благодарностью.

РЕДАКТИРОВАТЬ: РАБОТАЕТ НА IOS SAFARI

РЕДАКТИРОВАТЬ # 2: РАБОТАЕТ, ЕСЛИ Я ПЕРВЫЙ НАВИГАЦИЯ НА WWW.USER.EXAMPLE.COM И ТОГДА НАВИГАЦИЯ НА USER.EXAMPLE.COM

...