У меня есть приложение, которое работает с переменными сеанса без проблем. Я начинаю сеанс перед заголовками на каждой странице, которая использует, когда это было хорошо, тогда неожиданно я получаю неопределенную ошибку индекса при переходе на страницу, отличную от той, которая устанавливает переменные сеанса. Но только на некоторых браузерах. Иногда сеансы поддерживаются, а иногда и нет.Переменные сеанса PHP не поддерживаются
Похоже, что файлы cookie не хранятся некоторое время. Я делал проверки с использованием разных браузеров, и иногда файлы cookie хранятся, а иногда нет.
Я сделал эксперимент. Я использовал Firefox для использования в приложении, и я следил за папкой tmp, где хранятся сеансы. Я очистил его. Используя firefox, я начал использовать приложение, используя все страницы, на которых были заняты сеансы, и в конце я проверил папку tmp, и там был один файл сеанса.
Был ли то же самое с интернет-исследователем, и теперь есть 7 разных файлов сеансов.
Я использую PHP 5.3.0 со стеком WAMP. Apache 2.2.11. Поддержка сеанса включена в моем phpinfo().
Я вызываю дамп var на первой странице и распечатывает данные сеанса. На любых последующих страницах переменная сеанса пуста.
<?php var_dump($_SESSION); ?>
array(0){}
Может ли кто-нибудь помочь мне разобраться с решением?
UPDATE - PHP INI настройки SESSION
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain 82.68.26.169 82.68.26.169
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path/ /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path c:/wamp/tmp c:/wamp/tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies On On
session.use_trans_sid 0 0
UPDATE - Решение
Потому что мое приложение использует плавающие фреймы тянущие на страницах другого домена (который я создал) печенье я пытался для установки блокировались. Настройте заголовок P3P, и проблема, похоже, решена!
Я снова прочитал ваш вопрос, и я заметил, что тема не соответствует содержимому. Вы должны уточнить, в чем заключается ваша проблема: не сохраняются ли значения в сеансе или они не извлекаются из базы данных в первую очередь. – 2010-12-05 12:23:05
обновил мою тему – iamjonesy 2010-12-05 13:42:19
обновил мой ответ – aib 2010-12-05 13:50:10