2014-02-15 37 views
0

好像Codeigniter会话在ie & safari中不起作用。其他任何人都面临同样的问题?Codeigniter会话在IE和Safari中不起作用

有没有解决方法呢?

<?php defined('BASEPATH') OR exit('No direct script access allowed'); 

class Test extends CI_Controller { 

    var $user; 

    public function __construct(){ 
     parent::__construct(); 
    } 

    public function index(){ 
     $this->session->set_userdata('test', 'denis'); 
     var_dump($this->session->all_userdata()); 
    } 

    public function test2(){ 
     var_dump($this->session->all_userdata()); 

     phpinfo(); 
    } 
} 

响应为http://mydomain.com/test

阵列(5){[ “的session_id”] =>串(32) “47d3fec20fc0360ae19994bad84294ba”[ “IP_ADDRESS”] =>串(10) “172.16.1.1”[ “user_agent”] => string(68)“Mozilla/5.0(Windows NT 6.1; WOW64; Trident/7.0; rv:11.0)like Gecko”[“last_activity”] => string(10)“1392434286”[“test” ] =>串(5) “丹尼斯”}

响应为http://mydomain.com/test/test2

阵列(4){[ “的session_id”] =>串(32)“5c38c5bc9 e1fea7990962fad7626dbd5“[”ip_address“] => string(10)”172.16.1.1“[”user_agent“] => string(68)”Mozilla/5.0(Windows NT 6.1; WOW64;三叉戟/ 7.0; RV:11.0)等壁虎” [ “last_activity”]

它不存储该Cookie =>串(10) “1392434287”},该会话是空

+2

请勿发布您的代码图片,发布文本代码片段。 – Mark

+0

http://stackoverflow.com/questions/8850960/codeigniter-ie-not-storing-sessions-correctly –

+0

丹尼斯 - 如果你还没有重新命名的config/config.php中的cookie肯定做Reena建议 - 删除从默认的cookie名称下划线(并且可以选择任何你想要的名称)。 Cookie名称中的下划线是旧版IE的已知错误。 – cartalot

回答

0

刚发现的问题:

这不是笨的错误,但问题是在我的Linux服务器配置。

hwclock没有与date时间coresponding,这是导致上即& Safari浏览器会话问题...

+0

你能告诉更多或给一些信息如何检查这个以及如何解决这个问题?对我来说,会话​​正在工作,但由于某种原因会话变量变为空而不是总是在另一页上。 –

3

$config['sess_cookie_name'] = 'ci_session';$config['sess_cookie_name'] = 'cisession';

-2

丹尼斯

谢谢您的回答。

我的代码在IE,Firefox,Chrome等工作正常,但没有Safari浏览器。

它看起来像safari阻止会议工作。

然后我发现我的服务器的硬件时间和系统时间不对。

然后:

[[email protected] ~]# ntpdate 0.rhel.pool.ntp.org 
[[email protected] ~]# hwclock -w 

现在一切都很好。

再次感谢。

相关问题