我正在使用Codeigniter创建一个可与其他子域一起使用的网站。每个客户都有自己的子域,可以从那里登录。 例如: customer1.domain.com customer2.domain.com
问题在于,在子域登录后,Cookie会定期消失,有时刷新页面后也会立即消失。有时在打开其他页面后,但有时也在几分钟后。
同时我尝试了不同的方法,但找不到问题。当我使用codeigniter的cookie助手和标准的php cookie方法时,都会发生这种情况。
我尝试了以下Cookie:
$rootdomain = '.domain.nl';
$cookie = array(
'name' => 'session_hash',
'value' => $session_hash,
'expire' => '86400',
'domain' => $rootdomain,
'prefix' => 'domainprefix',
'path' => '/',
'secure' => TRUE
);
$this->input->set_cookie($cookie);
和PHP方法:
setcookie("session_hash", $session_hash, time() + 86400,'/',$_SERVER['SERVER_NAME']);
对于会话,我使用标准的PHP方法,例如:
$_SESSION['session_hash'] = $session_hash;
因此,我尝试设置会话哈希cookie和用于备份的会话,但是cookie和会话消失了。
有人可以告诉我我做错了什么吗? 如果我在不使用子域的情况下使用相同的功能,则效果很好。