Php Codeigniter会话数据在重定向后丢失(使用memcached作为会话存储后)
我有一个服务器,其中有许多PHP应用程序,使用CodeIgniter作为框架。一切都很顺利 然而,在使用Memcached作为会话存储(我以前使用默认文件存储会话)之后,我的一个应用程序做出了奇怪的反应。虽然其他应用程序运行良好,但在重定向到主页后,我的应用程序会话很少丢失 对于调试,我使用如下语句Php Codeigniter会话数据在重定向后丢失(使用memcached作为会话存储后),php,codeigniter,session,memcached,Php,Codeigniter,Session,Memcached,我有一个服务器,其中有许多PHP应用程序,使用CodeIgniter作为框架。一切都很顺利 然而,在使用Memcached作为会话存储(我以前使用默认文件存储会话)之后,我的一个应用程序做出了奇怪的反应。虽然其他应用程序运行良好,但在重定向到主页后,我的应用程序会话很少丢失 对于调试,我使用如下语句 class Home extends CI_Controller { public function __construct() { parent::__c
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和error应用程序,以发现可能导致此异常的配置
有什么想法吗?提前感谢您的帮助。好的,我想我已经找到了根本原因 显然,我的一位同事在应用程序中对
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只接受2592000或30天以下的数字),则问题不再存在。好的,我想我已经找到了根本原因
显然,我的一位同事在应用程序中对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仅接受2592000或30天以下的数字),则问题不再存在。请注意,同一服务器上的其他应用程序(使用相同的php.ini配置)运行良好,因此我假设会话配置不是此问题的原因,谢谢…请注意,同一服务器上的其他应用程序(使用相同的php.ini配置)运行良好,因此我假设会话配置不是导致此问题的原因,谢谢。。。