Переменные сеанса PHP не передаются по страницам - PullRequest
2 голосов
/ 21 марта 2010

Обычная проблема, но я в тупике.Переменные сеанса передаются через страницы в моем локальном (localhost) развертывании, но не на моем (www) хосте.Я использую общий файл включений для каждой страницы с этим кодом:

$sessionDomain = "/";
@ini_set("session.cookie_path",$sessionDomain);
$sessionName = "ccSID".md5('/store/');
session_name($sessionName);
session_start();

Я подтвердил, что файл cookie идентификатора сеанса (ccSIDxxxxx ...) остается одинаковым на всех страницах в моем браузере, но переменные сеанса неКажется, он удерживается при переходе на страницу в другом каталоге.

РЕДАКТИРОВАТЬ: мой файл cookie сеанса содержит четкие данные из одного каталога пути, но не из другого.Я заметил, что в хорошем каталоге есть пустой файл php.ini.Когда я помещаю пустой файл php.ini в неверный каталог, cookie сеанса становится разборчивым, но тогда обычные файлы cookie браузера не сохраняются со страниц в этом каталоге.Что происходит с (пустыми) файлами php.ini в каталогах, которые изменяют поведение cookie сеанса?

Ответы [ 2 ]

1 голос
/ 22 марта 2010

У меня такое ощущение, что вы сохраняете куки в нескольких местах. Поскольку вы сами их называете, имя может быть таким же, но на самом деле это будет совершенно другой сеанс.

Посмотрите на вашем сервере фактические файлы сеанса. Они все там, где и должны быть? Есть ли какая-то куча, показывающая, где они не принадлежат?

Если это так, то ваш путь, вероятно, устанавливается относительным, а не абсолютным, даже если это не похоже на то, что вы здесь показали.

Кроме того, возможно, вам следует отключить оператор отключения (@) из ini_set (), чтобы вы могли видеть, жалуется ли он на что-либо?

1 голос
/ 21 марта 2010

"/" выглядит как путь, а не домен.
Почему бы вам просто не оставить настройки сеанса в покое, со значениями по умолчанию?
если сессионный cookie работает нормально, вы должны проверить файлы в рамках session.save_path

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