Zend Framework – 会话ID重新生成,无法保持登录状态

前端之家收集整理的这篇文章主要介绍了Zend Framework – 会话ID重新生成,无法保持登录状态前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
敬畏人们:(没有任何人可以帮助我在这里

嗨伙计们,我正在尝试使用Zend Sessions将会话存储在数据库中,但是因为某些原因,我的会话已经消失了.我不确定是否正在执行某些代码执行此操作或是否其他内容.

我注意到会话ID似乎在登录后的breif时间后重新生成.

即使在我的htaccess文件添加了以下行,这甚至是:

PHP_value session.auto_start 0

最终的结果是我登录时每分钟都会注销.

继承我的bootstrap文件中的代码

$config = array(
    'name'           => 'session','primary'        => 'id','modifiedColumn' => 'modified','dataColumn'     => 'data','lifetimeColumn' => 'lifetime'
);


$saveHandler = new Zend_Session_SaveHandler_DbTable($config);
Zend_Session::rememberMe($seconds = (60 * 60 * 24 * 30)); 

$saveHandler->setLifetime($seconds)->setOverrideLifetime(true); 

Zend_Session::setSaveHandler($saveHandler);
//start your session!
Zend_Session::start();

我没有使用任何其他会话相关的功能,除了登录时Zend_Auth.

事实上,rememberme调用了Session类的regenerateID函数 – 最终的结果是我现在每隔几分钟就会不断注销.

我有这个问题,因为我的数据库表中的主要ID设置为INT(11)(IdioT!)

Duplicate DB sessions created upon Zend_Auth login

它应该设置为CHAR(32)!我出于习惯将它设置为INT.我花了4天时间追踪这个.

猜你在找的PHP相关文章