Я создал простой сессионный класс, который обрабатывает сессии.
Однако я сталкиваюсь с большими проблемами с session_id.
Небольшое примечание: это случается просто хорошо в течение нескольких недель. и вдруг он перестает работать
Что случилось:
http://domain1.com/framework/start/
Имеет следующий идентификатор сеанса: svplf2tln1j05n75jbokcmhfo3
http://domain1.com/framework/login/
Имеет следующий идентификатор сеанса: njlqg0jomo00r560bp6k0pje55
Это странно.
Но важно знать мои настройки:
///######## IF A SESSION COOKIE SHOULD BE SET
if(self::$setsessioncookie === true){
///######## SETTINGS ARRAY
$SessionSettings = array(
'session.cookie_lifetime' => self::$limit, /// **** LIFETIME OF THE SESSION COOKIE (in seconds)
///'session.cookie_path' => self::$path, /// **** THE DOMAIN FOR WHERE THE COOKIE WILL WORK. (single / for all paths on the domain.)
'session.cookie_domain' => self::$domain, /// **** DEFINE THE DOMAIN NAME
'session.cookie_secure' => self::$secure, /// **** ONLY BY SECURE CONNECTIONS
'session.cookie_httponly' => self::$httponly /// **** INDICATE THAT THE SESSION COOKIE IS AVAILABLE THROUGH HTTP PROTOCOLS ONLY (not by Javascript)
);
///########==================================================
///######## SET THE SESSION COOKIE PARAMETERS
///########==================================================
///######## RUN THROUGH ALL SETTINGS
foreach($SessionSettings as $Option => $Setting){
///######## IF THE OPTION IS NOT EMPTY
if($Setting !== NULL){
///######## SET THE SETTING
ini_set($Option, $Setting);
}
}
Как видите, я прокомментировал:
'session.cookie_path' => self::$path
Так что не следует ограничиваться только одним путем.
Но проблема все еще возникает.
Перед этим я установил сессионный cookie:
///########==================================================
///######## STORING THE SESSION ID IN A COOKIE
///########==================================================
setcookie(
self::$SessionName, /// **** SET THE COOKIE NAME
session_id(), /// **** SET THE COOKIE CONTENTS
(time() + self::$limit) /// **** MAX DURATION OF THE COOKIE LIFETIME
);
///########==================================================
Или я должен сделать это перед установкой ini_set??
Небольшое обновление:
У меня установлено расширение для веб-разработчика FireFox, и когда я нажимаю: «Удалить файлы cookie пути», система выходит из системы и позволяет мне войти в систему должным образом.
Это может означать, что путь был установлен? Но я это закомментировал ???
Может быть, я должен установить путь, но указать глубину ??
например ini_set('session.cookie_path', 'http://domain1.com/*')
?
Задача ещё не решена.
Других решений пока нет …