簡體   English   中英

重定向后丟失Codeigniter會話數據(使用memcached作為會話存儲后)

[英]Codeigniter session data lost after redirect (after using memcached as session storage)

我有一個使用CodeIgniter作為框架的許多PHP應用程序的服務器。 一切都運行得很好。

但是,在使用Memcached作為會話存儲(我之前使用默認文件來存儲會話)之后,我的一個應用程序反應奇怪。 雖然其他人運行良好,但在重定向到主頁后,我的應用程序會話很少丟失。

對於調試,我使用這樣的語句

class Home extends CI_Controller {

    public function __construct()
    {
            parent::__construct();
           // Your own constructor code

            var_dump($_SESSION); die;

            $this->mysession->check_no_session();
            $this->mysession->check_session_expires();
    }

    public function index()
    {
            $this->libs->check_main_template('welcome_message','');
    }
}

轉儲顯示會話中沒有存儲任何內容: array(0) { }

但是在同一服務器的其他應用程序中,當我進行調試時,會話數據顯示完美。

我使用模板構建這些應用程序,這意味着所有配置大多是相同的,所以我必須看到在OK和錯誤應用程序之間識別/比較什么配置/文件以發現可能導致此異常的配置?

任何想法? 先謝謝您的幫助。

好吧,我想我找到了根本原因。

顯然,我的一位同事在應用程序中為index.php設置了一個超出memcache限制的指令,如下所示:

define('SESSION_TIME_OUT', x);
ini_set('session.gc_maxlifetime', SESSION_TIME_OUT);
ini_set('session.cache_expire', SESSION_TIME_OUT);
session_start();

用適當的數字替換x (memcache只接受2,592,000或30天以下的數字),然后問題不再存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM