-1

我已经开始在我的 CodeIgniter 应用程序中使用 Tank Auth,我已经按照一些教程步骤进行了设置,只要它有效,它就会在帐户激活和注销期间产生大量错误消息。以下是错误:

A PHP Error was encountered

Severity: Notice

Message: Undefined index: session_id

Filename: libraries/Session.php

Line Number: 272

A PHP Error was encountered

Severity: Notice

Message: Undefined index: ip_address

Filename: libraries/Session.php

Line Number: 272

A PHP Error was encountered

Severity: Notice

Message: Undefined index: user_agent

Filename: libraries/Session.php

Line Number: 272

A PHP Error was encountered

Severity: Notice

Message: Undefined index: last_activity

Filename: libraries/Session.php

Line Number: 272

A PHP Error was encountered

Severity: Notice

Message: Undefined index: session_id

Filename: libraries/Session.php

Line Number: 288

A PHP Error was encountered

Severity: Notice

Message: Undefined index: last_activity

Filename: libraries/Session.php

Line Number: 289

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /projekt/system/core/Exceptions.php:185)

Filename: libraries/Session.php

Line Number: 675

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /projekt/system/core/Exceptions.php:185)

Filename: helpers/url_helper.php

Line Number: 542

这是参考点的代码:

    foreach (array('session_id','ip_address','user_agent','last_activity') as $val)
    {
        unset($custom_userdata[$val]);
        $cookie_userdata[$val] = $this->userdata[$val]; //272 line
    }

    $this->CI->db->where('session_id', $this->userdata['session_id']); //288 line
    $this->CI->db->update($this->sess_table_name, array('last_activity' => //289 line $this->userdata['last_activity'], 'user_data' => $custom_userdata));
  setcookie( // 675 line
              $this->sess_cookie_name,
              $cookie_data,
              $expire,
              $this->cookie_path,
              $this->cookie_domain,
              $this->cookie_secure
          );
4

1 回答 1

1

这些错误看起来并不严重,因为它们仍然只在错误层次结构的通知级别上。我会查看 code-igniter 的源代码,看看发生了什么。该源值得了解如何编辑和导航,因为它会在以后节省时间。由于我没有使用 Tank Auth,我不确定确切的问题是什么。我建议在您的源代码中设置 var_dump 语句来跟踪它发生了什么。在您的库或您正在使用的任何其他第三方工具的上下文中,看起来确实不存在某些模型或会话变量。您可能需要声明一个 codeigniter 实例才能使用这些第三方工具,因为它们存在于 codeigniter 范围之外。

$_CI =& get_instance(); // creates a CI instance that can exist outside of the MVC setup

您可以在本教程的以下部分查看更多信息:在您的库中使用 CodeIgniter 资源 http://ellislab.com/codeigniter/user-guide/general/creating_libraries.html

于 2012-12-13T21:28:09.137 回答