Pregunta

Mi sesión sólo parece ser válido en la ventana / pestaña actual. También parece que el tiempo de espera rápidamente. He aquí cómo Actualmente estoy tratando de hacer es:

Esto está en mi controlador de entrada:

$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);

Y esto está en mi archivo de arranque:

Zend_Session::start();

Soy relativamente nuevo en algunas de estas cosas, así que ten paciencia conmigo! Cualquier ayuda sería muy apreciada.

¿Fue útil?

Solución

Esto es lo que estaba ocurriendo. Este sitio web fue en un servidor de compartir una carpeta sesiones con otro sitio web en el servidor. A pesar de que he aumentado sesión de por vida con ini_set, mis sesiones seguían siendo eliminados por la otra aplicación.

Para resolver esto simplemente session.save_path conjunto a una nueva carpeta. Problema resuelto!

Otros consejos

Sólo quiero añadir que cambia el session.save_path en el .htaccess con la fila de seguimiento para que funcione. Vi la respuesta pensó que lo cambié en los ini, pero es en el .htaccess.

Por ejemplo:

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

Mirando a través de la fuente de Zend_Session, el método rememberMe () llama rememberUntil () que llama al método session_set_cookie_params construido en php ()

Así que es posible que desee para ver sus valores de php.ini para session.cookie_lifetime . Si no es 0, entonces Zend_Session :: rememberMe () sería inútil a menos que el valor es menor que session.cookie_lifetime . En cuyo caso que se desea ponerlo a 0, ya sea en php.ini o en su aplicación usando ini_set () como se indica en el primer comentario sobre la página de manual session.cookie_lifetime .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top