Zend_Session_SaveHandler_DbTable oturum ID'si üreten değil?

1 Cevap php

I'm currently tearing my hair out trying to persist authentication via a database bases session. I've set Zend_Session to use a database, and on inspection, Zend is writing values to the database. However, the ID for those sessions doesn't appear to match the PHPSESSID - yet when I get Zend_Session to return the id - it returns a matching value.

Yani - Benim DB var:

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

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

Oysa ben Zend Session kendisinden id ararsanız ...

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

Ben Zend Oturumu tarafından oluşturulan ID doğru, PHPSESSID eşleşmesi gerektiğini varsayarak yaşıyorum?

İşte benim önyükleme bulunuyor

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

Birisi bu sefer biraz ışık tutabilir eğer ben sonsuza dek minnettar olacaktır ...

1 Cevap

Eh, ben afallamış değilim. Ben InnoDB için tablo türü değişti ve şimdi çalışıyor.

Benim savunma - ana belgelerinde InnoDb belirtmiyor: http://framework.zend.com/manual/en/zend.session.savehandler.dbtable.html

oysa burada öyle: http://framework.zend.com/wiki/display/ZFPROP/Zend_Session_SaveHandler_DbTable?showComments=false

Ben bu kadar sabit buydu dua ediyorum. Benim Apache belki de yerel bir bug?