在DB表中存储会话不起作用(使用Zend_Session_SaveHandler_DbTable)

Bri*_*ian 5 php mysql database session zend-framework

这是我的表:

CREATE TABLE `Sessions` (
`id` varchar(32) NOT NULL,
`modified` int(11) default NULL,
`lifetime` int(11) default NULL,
`data` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB
Run Code Online (Sandbox Code Playgroud)

这是在我的引导程序中:

$sessionConfig = array( 
'name'           => 'Sessions',      //table name as per Zend_Db_Table 
'primary'        => 'id',   //the sessionID given by php 
'modifiedColumn' => 'modified',     //time the session should expire 
'dataColumn'     => 'data', //serialized data 
'lifetimeColumn' => 'lifetime'      //end of life for a specific record 
); 
$saveHandler = new Zend_Session_SaveHandler_DbTable($sessionConfig); 
//cookie persist for 30 days 
Zend_Session::rememberMe($seconds = (60 * 60 * 24 * 30)); 

//make the session persist for 30 days 
$saveHandler->setLifetime($seconds) 
    ->setOverrideLifetime(true); 
//similarly, 
//$saveHandler->setLifetime($seconds, true); 
Zend_Session::setSaveHandler($saveHandler); 
Zend_Session::start(); 
Run Code Online (Sandbox Code Playgroud)

当我登录时,没有任何内容写入Sessions表,我在下一页浏览时注销.

有任何想法吗?我正在尝试让我的用户永久登录.我可能在登录控制器中丢失了一些东西吗?

Fra*_*kie 0

也许您必须Zend_Session::start();在页面上的其他任何内容之前放置...?