PHP session_start cookie не сохраняет идентификатор сессии

На моем сервере я начинаю новый сеанс, вызывая функцию статического класса.
Проблема в том, что идентификатор сеанса не сохраняется в файле cookie сеанса, более того, кажется, что файл cookie сеанса не сохраняется на клиенте (например, chrome не отображает файл cookie для веб-сайта).
Распечатка $_COOKIE результаты в array(0) { }, То же самое с $_SESSION,

Вот функция статического класса, которая начинает новый сеанс:

<?php
class Session
{
private function __construct() { }

public static function sec_session_start()
{
$session_name = 'sec_session_id';
$secure = TRUE;                     // https only
$httponly = true;                   // javascript can't access session id

$cookieParams = session_get_cookie_params();
session_set_cookie_params($cookieParams['lifetime'],
'/',
'www.example-domain.de',
$secure,
$httponly);

session_name($session_name);
session_start();
session_regenerate_id();
}
}
?>

И в верхней части каждой страницы я начинаю сессию с

Session::sec_session_start();

Например, когда я нахожусь на странице входа в мой сайт и распечатать var_dump($_COOKIE) это говорит array(0) { } вместо array(2) { ["PHPSESSID"]=> string(26) "..." ["sec_session_id"]=> string(26) "..." },

Php ini выглядит следующим образом
php ini

0

Решение

Убедитесь, что ваш сайт поддерживает https,

session.cookie_secure указывает, следует ли отправлять куки
через безопасные соединения.

http://php.net/manual/en/session.configuration.php#ini.session.cookie-secure

Если это не так, просто установите $secure в false,

Надеюсь, это поможет.

0

Другие решения

Вы должны иметь session_start как ваша первая строка перед любой сессией функционирует.

-1

По вопросам рекламы [email protected]