Я хочу возобновить сеанс. Поэтому я передаю идентификатор сеанса и пытаюсь возобновить сеанс так:PHP session_start не возобновляет сеанс
session_save_path($_SERVER["DOCUMENT_ROOT"].'/mysessions');
if(!empty($_POST['session_id'])) {
session_id($_POST['session_id']); // $_POST['session_id'] = "4dkwkeiugraqhfpeq745l2c2a1";
session_start();
}
$session_var = $_SESSION['property_name']; // <- null even though there was something there
ob_start();
var_dump($_SESSION);
$session_data = ob_get_clean(); // $session_data = NULL
Я вижу, что физический файл сессия существует «sess_4dkwkeiugraqhfpeq745l2c2a1
» в папке сессии, где я хранить свои сессии. Три - это данные. Однако сеанс не возобновляется. После звонка session_start()
, $_SESSION
переменных нет.
Что мне здесь не хватает?
Вы пробовали с жестко запрограммированным идентификатором сеанса? Вы проверили фактическую длину '$ _POST ['session_id']' (возможно, внутри есть пробел)? – Leri
Это происходит после закрытия страницы и ввода снова? Возможно, сервер запускает другой сеанс с другим id – letiagoalves
. Я бы не использовал это. это позволяет очень тривиальный захват сеанса. unelss у вас есть все основания для этого, не путайте с установкой/изменением идентификатора сеанса –