Php Codeigniter注销用户

Php Codeigniter注销用户,php,codeigniter,Php,Codeigniter,我正在使用codeigniter框架创建一个web应用程序,我正在使用版本2.0.3。 My会发出ajax请求以随时更新页面,并获取通知。 我访问了codeigniter论坛,询问了有关codeigniter会话和ajax的问题,找到了我使用的代码片段,并将其保存在库和类My_session.php中 class MY_Session extends CI_Session { /** * Update an existing session * * @ac

我正在使用codeigniter框架创建一个web应用程序,我正在使用版本2.0.3。 My会发出ajax请求以随时更新页面,并获取通知。 我访问了codeigniter论坛,询问了有关codeigniter会话和ajax的问题,找到了我使用的代码片段,并将其保存在库和类My_session.php中

class MY_Session extends CI_Session {

    /**
     * Update an existing session
     *
     * @access    public
     * @return    void
    */
    function sess_update() {
       // skip the session update if this is an AJAX call! This is a bug in CI; see:
       // https://github.com/EllisLab/CodeIgniter/issues/154
       // http://codeigniter.com/forums/viewthread/102456/P15
       if ( !($this->CI->input->is_ajax_request()) ) {
           parent::sess_update();
       }
    }
}
但是自从我添加了这段代码之后,我就无法在不注销的情况下保持登录超过五分钟,或者有时根本无法登录。
有人有类似的经历吗?

如果您想保持登录时间更长,您已经在应用程序/config/config.php中设置了超过五分钟的sess\u过期时间

当您评估is\u ajax\u请求时会发生什么?在该代码段中添加:

echo 'AJAX: ' . $this->CI->input->is_ajax_request(); exit;

查看if语句是否正常工作。它可能返回false并每次更新会话。只是一个简单的开始:

设置7200秒即两小时是服务器上的时间设置,好吗?@LastRoseStudios时间设置正确您是否使用数据库进行会话?@tgriesser是的,我使用数据库会话好,因为我的ajax应用程序也有同样的问题,在没有运气的情况下使用ajax请求覆盖,并尝试跟踪问题可能是什么,我有一些想法,但我正在尝试确认。会话cookie是否加密?检查AJAX是否在框架中的某个位置==为true,如果不是,则需要添加这些检查,这些检查位于您添加的库的线程中,或者在库的顶部将其定义为一个已定义的常量,如:定义“AJAX”,isset$\u服务器[“HTTP\u X\u REQUESTED\u WITH']&strotlower$\u服务器[“HTTP\u X\u REQUESTED\u WITH']=='xmlhttprequest';很抱歉,我没有及时回复您,当它是一个ajax请求时,它会显示1