переменные сеанса теряются между страницами или используют одни и те же переменные - PullRequest
0 голосов
/ 02 января 2011

Всем привет и счастливого нового года,

У меня есть Wamp Server (2.2.11) с PHP (5.2.9.-2). Я знаю, что сделал что-то не так, но я не нашел себя. Прежде чем написать это электронное письмо, я выделил много документов с различными элементами поиска.

Я тестирую одно и то же приложение с разными идентификаторами пользователя. Когда я использую "session.use_cookies = 0", переменные сеанса теряются между страницами для одного и того же идентификатора пользователя. Когда я использую "session.use_cookies = 1", те же переменные сеанса используются РАЗЛИЧНЫЕ идентификаторы пользователя.

Настройки сессии моего php.ini ниже:

[Session]
session.save_handler = files
session.save_path = "c:/wamp/tmp"
session.use_cookies = 1
;session.cookie_secure =
;session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly = 
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor     = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = 0
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
;session.entropy_length = 16
;session.entropy_file = /dev/urandom
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

В чем моя ошибка? Спасибо за все ответы с этого момента.

С уважением.

1 Ответ

3 голосов
/ 02 января 2011

Если вы отключите куки, то PHP должен использовать метод trans_sid, который встраивает идентификатор сессии в качестве параметров запроса и скрытых полей формы. Ваш trans_sid установлен в 0 (выкл.), Поэтому, если куки отключены, вы по сути сразу отключили сессии.

Что касается получения нового идентификатора каждый раз, используйте что-то вроде Firebug или HTTPFox, чтобы увидеть, что происходит между вашим сервером и браузером. Если браузер не возвращает cookie-файл сеанса с каждым запросом, у PHP нет другого выбора, кроме как каждый раз начинать новый сеанс.

...