Это моя проблема;В настоящее время я работаю с приложением CodeIgniter, и клиент хочет, чтобы мы развернули его на сервере IIS.
Мой компьютер Dev - это устройство под управлением Windows 7 с IIS 7.5, и мое приложение работает просто отлично.Проблема начинается, когда я развертываю ее на удаленном компьютере, сервере Windows 2008.Там я не могу использовать сессии независимо от того, что.
Я предполагаю, что это проблема с сервером, потому что, если я пытаюсь добавить следующую строку в мой файл Sessions.php
function _set_cookie($cookie_data = NULL)
{
if (is_null($cookie_data))
{
$cookie_data = $this->userdata;
}
// Serialize the userdata for the cookie
$cookie_data = $this->_serialize($cookie_data);
if ($this->sess_encrypt_cookie == TRUE)
{
$cookie_data = $this->CI->encrypt->encode($cookie_data);
}
else
{
// if encryption is not used, we provide an md5 hash to prevent userside tampering
$cookie_data = $cookie_data.md5($cookie_data.$this->encryption_key);
}
$expire = ($this->sess_expire_on_close === TRUE) ? 0 : $this->sess_expiration + time();
// Set the cookie
setcookie(
$this->sess_cookie_name,
$cookie_data,
$expire,
$this->cookie_path,
$this->cookie_domain,
$this->cookie_secure
);
//This is the added line
var_dump($_COOKIE);die;
}
Все, что я получаю в качестве вывода, это
Array()
Это означает, что встроенная функция setcookie ничего не делает ... Спасибо за ваше время!
[EDIT]
Похоже, что сессия работает, если я установил флаг cookie_secure в false ... Это определенно работает сейчас, но я не могу понять, почему ... Я оставлю тему как нерешенную длянесколько дней на тот случай, если кто-то может объяснить, почему это происходит: /