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天时间追踪这个. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |