Переменные сеанса потеряны после 3-го перенаправления

#php #session

#php #сессия

Вопрос:

У меня есть проект с несколькими разными страницами в нем. Раньше это работало довольно хорошо, пока я не обновил свою версию PHP. Я не помню предыдущую версию, но текущая версия: 5.6.0beta4.

Я могу успешно войти в систему и просмотреть страницу индекса. Я также могу перейти на 2-ю страницу отсюда, но когда я пытаюсь перенаправить 3-ю страницу (это может быть индексная страница или любой другой пейджер), все мои значения сеанса уничтожаются. Вот как я все делаю;

Вход;

 session_start();
session_regenerate_id();
$_SESSION["user"] = "testuser";
$_SESSION["enter"] = true;
$_SESSION["id"] = 1;
header("location: index.php");
exit();
  

На других страницах я использую формы для перенаправления;

 <table border=0>
<form method=post action=second.php name=second>
<input type=submit value="2nd Page">
</form><br/>
<form method=post action=third.php name=third>
<input type=submit value="3rd Page">
</form>
</table>
  

Все мои страницы начинаются с session_start() и session_regenerate_id() .

Любая помощь приветствуется. Я провел некоторые исследования в Интернете, но вся информация основана на отсутствии функции session_start(). Я считаю, что моя проблема больше связана с php.ini. Как я уже сказал, эта система сеансов работала отлично. Вот мои значения сеанса;


 session.auto_start Выкл.Выкл
. сессия.cache_expire 180 180
сессия.cache_limiter nocache
сессия nocache.cookie_domain нет значения нет значения
сессия.cookie_httponly Выкл.Выкл
.сессия.cookie_lifetime 1440 1440
сессия.cookie_path / /
 session.cookie_secure Выкл.Выкл
. сессия.entropy_file /dev/urandom /dev/urandom
сессия.entropy_length 32 32
сессия.gc_divisor 1000 1000
 сессия.gc_maxlifetime 1440 1440
сессия.gc_probability 1 1
сессия.hash_bits_per_character 5 5
сессия.hash_function 0 0
session.name PHPSESSID PHPSESSID
 session.refer_check нет значения нет значения
session.save_handler files files
session.save_path /var / lib/php5 / var / lib / php5
сессия.serialize_handler php php
сессия.upload_progress.очистка при
сеансе.upload_progress.включено при
сеансе.upload_progress.Частота 1% 1%
 session.upload_progress.min_freq 1 1
session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
 session.upload_progress.prefix upload_progress_ upload_progress_
сессия.use_cookies на
сеансе.use_only_cookies на
сеансе.use_strict_mode выкл. Выкл
. сессия.use_trans_sid 0 0

Комментарии:

1. Почему вы всегда используете session_regenerate_id() ? Для начала попробуйте обойтись без этих вызовов. И не забывайте, что вы используете бета-версию, это тоже может быть проблемой.

2. И есть ли у вас session_start() на указанных других страницах?

3. Я попробую без сеанса восстановить идентификатор и поделиться результатами. Он использовался из соображений безопасности. Да, у меня также есть начало сеанса в начале каждого файла php.

4. Я пытался удалить session_regenerate_id() со страниц, но это не имеет никакого эффекта

5. это было исправлено случайным образом, я считаю, что это была проблема с бета-версией PHP.