No Zend_Session_SaveHandler_DbTable la generación de ID de sesión válido?
-
19-09-2019 - |
Pregunta
Actualmente estoy rasgando mi pelo que prueba que persista la autenticación a través de una sesión de bases de bases de datos. He puesto Zend_Session a utilizar una base de datos, y en la inspección, Zend es escribir los valores de la base de datos. Sin embargo, el ID para esas sesiones no parece coincidir con el PHPSESSID - aún cuando consigo Zend_Session para regresar el id - devuelve un valor coincidente.
Por lo tanto - en mi base de datos que tengo:
ID.....MODIFIED.......LIFETIME...DATA
344..1265640083.......1440.......BLAH
Sin embargo, si llamo a la ID de Sesión Zend sí ...
$id = Zend_Session::getId();
echo $id; // mbgspg2gvf1c3r9l7qpv6orgt4
Estoy asumiendo que el ID generado por Zend sesión debe coincidir con el de la PHPSESSID, correcto?
Esta es mi rutina de carga
$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();
Yo estaré eternamente agradecido si alguien puede arrojar algo de luz sobre este ...
Solución
Bien, estoy desconcertado. He cambiado el tipo de tabla de InnoDB y ahora funciona.
En mi defensa - en la documentación principal no especifica InnoDB: http://framework.zend.com/manual/en/zend.session.savehandler.dbtable.html
mientras que aquí lo hace: http: //framework.zend. com / wiki / pantalla / ZFPROP / Zend_Session_SaveHandler_DbTable? showComments = false
Estoy orando eso es lo arregló. Tal vez un error local en mi Apache?