加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 22:40:55 所属栏目:PHP教程 来源:网络整理
导读:敬畏人们:(没有任何人可以帮助我在这里 嗨伙计们,我正在尝试使用Zend Sessions将会话存储在数据库中,但是因为某些原因,我的会话已经消失了.我不确定是否正在执行某些代码执行此操作或是否其他内容. 我注意到会话ID似乎在登录后的breif时间后重新生成. 即使在
敬畏人们:(没有任何人可以帮助我在这里

嗨伙计们,我正在尝试使用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天时间追踪这个.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读