Frage

Meine Sitzung scheint nur gültig, die im aktuellen Fenster/tab.Auch scheint es, timeout zu schnell.Heres, wie ich bin derzeit versuchen, es zu tun:

Dies ist in meinem login-controller:

$adapter = $this->getAuthAdapter($data);
$auth    = Zend_Auth::getInstance();
$result  = $auth->authenticate($adapter);

if (!$result->isValid()) {
    $this->view->err = "Invalid username or password.<br/>Please try again.";
    return $this->render('index'); // re-render the login form
}

Zend_Session::rememberMe(60*60*24*7*4);

Und das ist in meinem bootstrap:

Zend_Session::start();

Ich bin relativ neu auf einige dieser Dinge, so mit mir tragen!Jede Hilfe würde sehr geschätzt werden.

War es hilfreich?

Lösung

Hier ist, was Los war.Diese Webseite wurde auf einem server gemeinsam eine sessions-Ordner mit einer anderen website auf dem server.Obwohl ich erhöhte Lebensdauer der Sitzung mit ini_set, meine Sitzungen waren noch nicht gelöscht, die von der anderen Anwendung.

Um dieses Problem zu lösen habe ich einfach " set session.save_path in einen neuen Ordner.Problem gelöst!

Andere Tipps

Ich möchte nur hinzufügen, dass Sie der Sitzung ändern.save_path in der .htaccess folgende Zeile zu machen es Arbeit.Ich sah die Antwort dachte, ich änderte es in der .ini, aber es ist in der .htaccess.

Zum Beispiel:

php_value session.save_path /home/kaos/data/sessions/

Der Blick durch die Quelle für zend_session, " rememberMe () - Methode ruft rememberUntil() die Aufrufe der eingebauten php-Methode session_set_cookie_params()

So können Sie überprüfen Sie Ihre php.ini-Werte für Sitzung.cookie_lifetime.Wenn es nicht 0, dann Zend_Session::rememberMe() wäre nutzlos, es sei denn, der Wert ist weniger als Sitzung.cookie_lifetime.In dem Fall, dass Sie wollen setzen es auf 0 entweder in php.ini oder in Ihrer Anwendung mit ini_set() wie in der erste Kommentar auf der Sitzung.cookie_lifetime man-Seite.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top