[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запутался с сессиями (куками)
acerrusm
Привет!

Совсем запутался с сессиями, а вернее с названиями сессий (сессионными куками).

Есть следующий код:

ini_set('session.name', 'DOMAIN1');
$session_1 = session_name("sess_1");
$session_2 = session_name("sess_2");

echo $session_1;
echo "<br>";
echo $session_2;


На выходе в браузер получаю то, что и ожидается, а именно:
DOMAIN1
sess_1

Однако, если посмотреть название куки которая "идентифицирует" сессию, то получаю вот что:
Name: PHPSESSID	
Value: 96c8374b09c1ce3dd8b81a7e8b95bee3


Как поменять название сессионной куки с PHPSESSID на DOMAIN1?

Пробовал в .htaccess писать это:
php_flag session.name ['SESS']

Но вышестоящий код вообще всю сессию убивает, т.е. даже сессионная кука исчезает.

Спасибо и с наступающим Новым Годом!
volter9
acerrusm

Нужно вызывать session_start() после вызова данного блока, иначе изменение не войдут в силу:

// Сначала установить имя
// ini_set('session.name', 'DOMAIN1');
// $session_1 = session_name("sess_1");

$session_2 = session_name("sess_2");

// А после начать сессию
session_start();


user posted image

_____________
Мой блог
acerrusm
Цитата (volter9 @ 30.12.2014 - 22:57)
acerrusm

Нужно вызывать session_start() после вызова данного блока, иначе изменение не войдет в силу:

// Сначала установить имя
// ini_set('session.name', 'DOMAIN1');
// $session_1 = session_name("sess_1");

$session_2 = session_name("sess_2");

// А после начать сессию
session_start();


user posted image

Спасибо большое! Все заработало.

Только я теперь еще больше запутался. А как быть если я запишу в .htaccess следующее:
php_flag session.auto_start 1 

Ведь тогда придется убрать session_start из PHP-кода + измененное название сессии тоже не вступает в силу.
volter9
Нужно вот так в .htaccess:

php_value session.name "sess_2"
php_flag session.auto_start 1


Проблема была в том что Вы использовали директиву php_flag вместо php_value :)

_____________
Мой блог
acerrusm
Цитата (volter9 @ 30.12.2014 - 23:56)
Нужно вот так в .htaccess:

php_value session.name "sess_2"
php_flag session.auto_start 1


Проблема была в том что Вы использовали директиву php_flag вместо php_value :)

Еще раз большое спасибо!
killer8080
auto_start тут не обязателен smile.gif
acerrusm
Цитата (killer8080 @ 31.12.2014 - 11:01)
auto_start тут не обязателен smile.gif

Странно, но без auto_start в .htaccess, сессия не создается (если конечно не выставлять session_start в самом сценарии). smile.gif
Мне, в целях обучения, просто интересно испробовать всевозможные варианты запуска и манипуляции сессии, чтобы потом, в будущем, не шарахаться при чтении чужого кода.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.