Это мой стол:Сохранение сессий в БД таблицы не работает (с использованием Zend_Session_SaveHandler_DbTable)
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
Это в моей начальной загрузки:
$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();
Когда я войти, никогда ничего не будет записано в Таблица сеансов, и я выхожу на первую страницу.
Любые идеи? Я пытаюсь, чтобы мои пользователи постоянно регистрировались. Возможно, я что-то пропустил в своем контроллере входа?
Я читал, что вы хотите вызвать Zend_Session :: start(); после всего остального. Одной из причин является session_set_cookie_params(), который вызывается из памятиMe(), не может установить время жизни после начала сеанса. – Brian
Даже если вы установили'Zend_Session :: start(); 'прежде чем что-нибудь еще это сработает? Это может дать нам некоторые подсказки тому, что может мешать. – Frankie
Ввод Zend_Session :: start(); Очевидно, что все, кажется, дает тот же результат. Есть идеи? – Brian