2010-02-08 1 views
1

저는 현재 데이터베이스 기반 세션을 통해 인증을 유지하려고 노력하고 있습니다. Zend_Session이 데이터베이스를 사용하도록 설정했으며, Zend가 데이터베이스를 사용하고 있습니다. 그러나 해당 세션의 ID가 PHPSESSID와 일치하지 않는 것처럼 보입니다. 아직 Zend_Session에서 ID를 반환하면 일치하는 값이 반환됩니다.Zend_Session_SaveHandler_DbTable이 유효한 세션 ID를 생성하지 않습니까?

ID.....MODIFIED.......LIFETIME...DATA 

344..1265640083.......1440.......BLAH 

을하지만 내가 젠드 세션 자체에서 ID ...

$id = Zend_Session::getId(); 
echo $id; // mbgspg2gvf1c3r9l7qpv6orgt4 

를 호출하면 나는 ID가 젠드 세션에 의해 생성 있으리라 믿고있어 -

그래서 내 DB에 내가 가진 PHPSESSID의 것과 일치해야합니다, 맞습니까?

은 여기 내 부트 스트랩

$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(); 

누군가가이 일에 도움이 되거 수 있다면 나는 영원히 감사 할 것입니다 ...

답변

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

. 내 아파치의 로컬 버그일까요?