У меня есть приложение, которое работает с переменными сеанса без проблем. Я начинаю сеанс перед заголовками на каждой странице, которая использует когда, все было хорошо, тогда, кажется, внезапно я получаю неопределенную ошибку индекса при переходе на страницу, отличную от той, которая устанавливает переменные сеанса. Но только в некоторых браузерах . Иногда сеансы поддерживаются, а иногда нет.
Похоже, что файлы cookie не сохраняются время от времени. Я сделал проверки с использованием разных браузеров, и иногда куки хранятся, а иногда нет.
Я провел эксперимент. Я использовал Firefox для приложения, и я следил за папкой TMP, где хранятся сессии. Я вычистил это. Используя Firefox, я начал использовать приложение, используя все страницы, которые использовались в сеансах, и в конце я проверил папку tmp, и там был один файл сеанса.
То же самое сделал с Internet Explorer, и теперь есть 7 различных файлов сессии.
Я использую PHP 5.3.0 со стеком WAMP. Apache 2.2.11. Поддержка сессий включена в моем phpinfo ().
Я вызываю дамп var на первой странице, и он распечатывает данные сеанса. На всех последующих страницах переменная сеанса пуста.
<?php var_dump($_SESSION); ?>
array(0){}
Может кто-нибудь помочь мне найти решение этой проблемы?
ОБНОВЛЕНИЕ - настройки 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
ОБНОВЛЕНИЕ - Решение
Поскольку мое приложение использовало фреймы, извлекающие страницы из другого домена (который я создал), файлы cookie, которые я пытался установить, блокировались. Установите заголовок P3P, и проблема, кажется, решена!