【问题标题】:Codeigniter session arrayCodeigniter 会话数组
【发布时间】:2015-12-19 06:10:19
【问题描述】:

我只从 codeigniter 默认会话数组中得到这个

Array ( [__ci_last_regenerate] => 1450553587 )

需要 session_id、ip 等

我正在使用 codeigniter 3

【问题讨论】:

  • 你能展示一下你是如何设置会话的吗??
  • 我在自动加载中加载会话库并打印默认数组 print_r($this->session->all_userdata());exit();
  • 您需要在 session.php 文件中添加一些代码,请查看我的答案。

标签: php codeigniter


【解决方案1】:

CodeIgniter 3.0.x 不会将(所有)会话元数据放入 $_SESSION 数组中。 以下是如何访问那里找不到的项目。

    echo "Session ID:".session_id()."<br>";
    echo "Remote Address: ".$_SERVER['REMOTE_ADDR']."<br>";
    echo "User Agent: ".$this->input->user_agent()."<br>";

并让最后一个会话重新生成

    echo "Last Regenerate: ".($_SESSION['__ci_last_regenerate']);

【讨论】:

    【解决方案2】:

    您可以将这段代码添加到系统文件夹中的 Session.php 中。

    $_SESSION['ip_address'] = $_SERVER['REMOTE_ADDR'];
    

    将这种和平的代码添加到您的

    Session.php 中的Codeigniter_Project_path\system\libraries\Session

    之后:

    session_start();
    

    这将是结果:

    array(2) { ["__ci_last_regenerate"]=> int(1450542332) ["ip_address"]=> string(9) "127.0.0.1" }

    更新

    Check this

        session_id: session_id()
        ip_address: $_SERVER['REMOTE_ADDR']
        user_agent: $this->input->user_agent() (unused by sessions)
        last_activity: Depends on the storage, no straightforward way. Sorry!
    

    必须将这些属性添加到 session.php 以生成新会话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 2019-02-28
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-01
      相关资源
      最近更新 更多