2013-02-17 2 views
0

У меня есть страница только с этим кодом:PHP сброса идентификатора сеанса в IE

<?php 
session_start(); 
echo session_id(); 
?> 

работает на локальном хосте. В IE мой идентификатор сеанса сбрасывается при каждой загрузке страницы (т. Е. Сеанс сбрасывается, вся информация старого сеанса теряется). В любом другом браузере он работает очень хорошо, и мой идентификатор сеанса не изменяется при обновлении.

Это происходит в режиме браузера IE7, IE8 и IE9 (фактический браузер = IE9). У меня есть настройки конфиденциальности IE (cookies) в разделе «Принять все файлы cookie». Тем не менее, в кэшировании> файлов cookie инструментов разработчика ничего не отображается. Очистка всех сеансовых файлов cookie также не помогает, равно как и очистка кеша браузера. Хотя в хранилище данных сеанса PHP создается новый файл сеанса при каждом обновлении.

PHP сессии конфигурации:

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 no value no value 
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 D:\webserver\environment\temp\sessions D:\webserver\environment\temp\sessions 
session.serialize_handler php php 
session.use_cookies On On 
session.use_only_cookies On On 
session.use_trans_sid 0 0 

Так странно, что это происходит только на IE, никакие другие браузеры и IE, кажется, настроен правильно ...

Спасибо за любые советы!

+0

Возможный дубликат: http://stackoverflow.com/questions/306132/php-session-doesnt-work-with-ie –

+0

Включает ли параметр «Принимать все файлы cookie» ** «Местная интрасеть» ** или вы сделать эту настройку только для зоны ** Интернет **? – martinstoeckli

+0

@martinstoeckli Да, я установил его для локальной интрасети, поскольку я тестирую на localhost. Это хороший совет, хотя я не указал его в своем вопросе –

ответ

0

Нажатие «refresh» обычно отправляет тот же запрос, что и раньше, даже если вы очистили кеш.

Закрыть IE полностью. Перейдите на панель управления, откройте «Свойства обозревателя» и удалите файлы cookie. Очистите кеш, если хотите быть уверенным. Затем откройте IE и идите.

Смежные вопросы