dongzhang1987
2014-02-15 09:19
浏览 47
已采纳

Codeigniter会话无法在IE和Safari中使用

It seems like Codeigniter session is not working in ie & safari. Any one else has faced the same problem?

Is there any solution about this?

<?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();
    }
}

response for http://mydomain.com/test

array(5) { ["session_id"]=> string(32) "47d3fec20fc0360ae19994bad84294ba" ["ip_address"]=> string(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"]=> string(5) "denis" }

response for http://mydomain.com/test/test2

array(4) { ["session_id"]=> string(32) "5c38c5bc9e1fea7990962fad7626dbd5" ["ip_address"]=> string(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) "1392434287" }

It doesn't store the cookie, the session is empty.

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • douya2433 2014-02-15 10:37
    已采纳

    Just Found the problem:

    It wasn't codeigniter bug. The problem was on my linux server configuration.

    The hwclock was not coresponding with the date time, and this was causing the session problem on ie & safari...

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • dongxing5525 2014-02-15 12:51

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

    评论
    解决 无用
    打赏 举报
  • dqpu4988 2014-04-07 04:46

    Denis

    Thanks for your answer.

    my code works fine in IE, Firefox, Chrome etc, but not safari.

    It looks like safari block the session to work.

    Then I found My server's hardware time and system time are not right.

    Then:

    [root@new55 ~]# ntpdate 0.rhel.pool.ntp.org 
    [root@new55 ~]# hwclock -w 
    

    Everything is fine now.

    Thanks again.

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题