Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Sesiones que no expiran con Symfony 2.7

14 de octubre de 2015

Hola ese es mi config.yml:

session:
    # handler_id set to null will use default session handler from php.ini
    cookie_lifetime: ~
    gc_maxlifetime: ~

Ya vi en don google 20 mil formas poner cookie_lifetime: 0, gc_maxlifetime: 0 etc etc y no hay forma: a los 15 minutos de no tocar el teclado se cierra la session, uso FOSUser, ¿tendrá algo que ver?

Tengo que lograr que solo se cierre la session al cerrar el navegador no antes,

¿Alguien me da una ayuda?

Gracias


Respuestas

#1

Lo primero que comprobaría son los datos de la cookie que crea Symfony. ¿Está bien puesta la fecha/hora de expiración? Después, comprobaría cuál es la configuración del archivo php.ini relacionada con las sesiones.

@javiereguiluz

14 octubre 2015, 14:56
#2

Pues no. Ya busqué en Google puse en php.ini todo en cero para que no tenga limites. Veo la cookie que crea Symfony y no tiene fecha, es infinita; pero a los 15 o 20 minutos me saca.

Tengo en el mismo servidor proyectos en CodeIgniter y funciona perfecto: el usuario al cerrar su navegador cierra la sesión si no sigue conectado.

Es algo de Symfony o del FOSUser, el tema es que no puedo presentar el proyecto así. Es para un punto de ventas si se tiene que logear cada 20 minutos me lo van a tirar por la cabeza.

@xub

15 octubre 2015, 18:13
#3

En esta respuesta de StackOverflow dan algunas posibles soluciones alternativas.

1) Como dices que en el mismo servidor otros proyectos sí que funcionan, seguramente la primera solución no te va a servir: es posible que en el servidor haya algún proceso automático que borre las sesiones inactivas.

2) ¿Es posible que borres la caché de Symfony de alguna manera durante la ejecución de la aplicación? Por defecto las sesiones se guardan en el mismo directorio que la caché, así que si la borras estás cerrando todas las sesiones. Puedes cambiar el directorio donde se guardan las sesiones.

@javiereguiluz

16 octubre 2015, 13:08
#4

Si, era el script de Debian ...

# Look for and purge old sessions every 30 minutes
09,39 *     * * *     root   [ -x /usr/lib/php5/sessionclean ] && /usr/lib/php5/sessionclean

Saludos

@xub

16 octubre 2015, 20:10