Разный идентификатор сессии каждый раз, когда выполняется session_start - PullRequest
1 голос
/ 27 апреля 2011

У меня есть следующий исходный код

session1.php

<?php

session_start();
echo session_id();

?>

session2.php

<?php

session_start();
echo session_id();

?>

когда я получаю доступ к session1.php, затем получаю доступ к session2.php, я получаю другой вывод.

Почему это делает это?

Ответы [ 3 ]

3 голосов
/ 27 апреля 2011

Браузер не отправляет файл cookie сеанса обратно на сервер. Это может иметь две причины.

  1. Браузер настроен так, чтобы не отправлять куки на сервер. Вы не можете заставить браузер отправлять куки. В этом случае единственным вариантом является передача идентификатора сеанса в URL, хотя обычно это не очень хорошая идея.
  2. Сервер настроен на использование файлов cookie для идентификатора сеанса (с помощью параметра конфигурации session.use_cookies ).
0 голосов
/ 04 февраля 2012

попробуйте сохранить ваши сеансовые куки в базе данных, а не на сервере.Это сэкономило мне кучу времени и другие проблемы с cookie-файлами сеанса, особенно если вы находитесь на общем сервере.Это может помочь http://www.raditha.com/php/session.php Удачи

0 голосов
/ 27 апреля 2011

Если вы работаете в * nix, попробуйте установить session.save_path в / tmp.Если это не сработает, посмотрите в кеше cookie вашего браузера, чтобы узнать, действительно ли cookie сохраняется браузером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...