Ich habe eine Zend Framework powered Website und es scheint ernsthafte Probleme mit Sitzungen zu haben. Ich habe einen 5-Schritt-Prozess, wo ich die Formulardaten in der Sitzung zwischen den Schritten speichern und dann im letzten Schritt in der Datenbank speichern.Zend Sessions Problem mit IE8
Als wir die Seite erstellten, ging die Sitzung manchmal einfach weg und zwang uns zum Neustart. Jetzt scheint es wieder zu funktionieren, aber kürzlich haben wir ein Problem mit Internet Explorer 8 entdeckt. Es schlägt zwischen Schritt 2 -> 3 fehl und vergisst die Sitzung. Es funktioniert gut in IE6, IE7, FF, Chrome, Safari und sogar in meinem mobilen Webbrowser (SE P1).
Wir speichern unsere Sitzungen in der Datenbank und wenn ich den Session DB Handler deaktivieren, funktioniert es. Was ist der Unterschied zwischen der Verwendung der Datenbank und ihrer Verwendung für Sitzungen? Verliere ich etwas, wenn ich zurückwechsle?
Bootstrap:
/* Start session */
$saveHandler = new Zend_Session_SaveHandler_DbTable(array(
'name' => 'sessions',
'primary' => 'id',
'modifiedColumn' => 'modified',
'dataColumn' => 'data',
'lifetimeColumn' => 'lifetime'
));
Zend_Session::rememberMe((int) $config->session->lifetime);
$saveHandler->setLifetime((int) $config->session->lifetime)
->setOverrideLifetime(true);
Zend_Session::setSaveHandler($saveHandler);
Zend_Session::start();
und in meinem Schritt Controller
$session = new Zend_Session_Namespace('wizard');
Dann bin ich nur mit $ session Spar Daten arbeiten in einem stdClass in $ session.
Könnten Sie einige Code geben Sie bitte? Zend_Session integration, session_set_save_handler(), etc. –
Ich habe meine Fragen mit einigen Codebeispielen aktualisiert – Emil