我正在试图通过数据库库会话继续进行身份验证。 我已经将Zend_Session设置为使用数据库,并且在检查时,Zend正在将值写入数据库。但是,这些会话的ID似乎与PHPSESSID不匹配 - 但是当我让Zend_Session返回id时 - 它返回一个匹配的值。
所以 - 在我的数据库中我有:
ID.....MODIFIED.......LIFETIME...DATA
344..1265640083.......1440.......BLAH
然而,如果我从Zend Session本身调用id ...
$id = Zend_Session::getId();
echo $id; // mbgspg2gvf1c3r9l7qpv6orgt4
我假设Zend Session生成的ID必须与PHPSESSID的ID匹配,对吗?
这是我的引导程序
$dbAdapter = $resource->getAdapter();//connection is tested and working
Zend_Registry::set("db", $dbAdapter);
$config = array(
'name' => 'sessions',
'primary' => 'id',
'modifiedColumn' => 'modified',
'dataColumn' => 'data',
'lifetimeColumn' => 'lifetime',
'db' => $dbAdapter
);
Zend_Session::setSaveHandler(new Zend_Session_SaveHandler_DbTable($config));
Zend_Session::start();
如果有人能对这一点有所了解,我将永远感激......
答案 0 :(得分:1)
在我的辩护中 - 在主要文档中没有指定InnoDB:http://framework.zend.com/manual/en/zend.session.savehandler.dbtable.html
而在这里:http://framework.zend.com/wiki/display/ZFPROP/Zend_Session_SaveHandler_DbTable?showComments=false
我正在祈祷这就是修复它的原因。也许是我的Apache中的本地错误?