Fue una pregunta muy general la q hice.
La verdad llevo tiempo con esto y no puedo solucionarlo.
He visto varios posts en el foro y la mayoria no ha tenido suerte o bien queda en el olvido el post...
Probe varias cosas:
usando session.gc_maxlifetime pero no tuve resultados y luego entendi el por q:
Cita: Cuando estableces gc_maxlifetime, símplemente dices el tiempo máximo de sesión, pero siempre que el recolector de basura de sesiones (garbage collection, de ahí lo de gc_...) se ejecute. El GC no se ejecuta SIEMPRE, sino que hay una probabilidad de que se ejecute, que por defecto es: session.gc_probability = 1 session.gc_divisor = 100 Es decir, se ejecutaría un 1% de las veces que ejecutes tu script. Por eso, si estás programando en local y sólo eres tu quien está haciendo peticiones a tu servidor web, hay muy poca probabilidad de que el gc se ejecute.
Ok, luego busque como trabajar con session.cookie_lifetime, y en un post del foro, un usuario dijo lo siguiente:
Cita: El cambio del tiempo que dura las sesiones se hace con session.cookie_lifetime. Abre el php.ini y cambia el valor a 0, para así indicar que no tenga límite y que caduque una vez haya cerrado el navegador.
...me fije en el phpinfo y session.cookie_lifetime es igual a 0, el session.cache_expire es igual a 180 minutos, session.gc_maxlifetime es igual a 1440... entonces no entiendo por q la sesion caduca mucho antes y sin cerrar el navegador.