PHP $ _SESSION variables de por vida en el servidor

Bien, entonces sé que la última variable de sesión predeterminada en un servidor es 1440 segundos o 24 minutos. Entonces, ¿cuál es el propósito de las variables si simplemente desaparecen como basura? ¿Significa esto que mi usuario se desconecta cada 24 minutos porque las variables de la sesión se están renovando? ¿Es prudente que cambie la sesión.gc_maxlifetime a algo así como 2 semanas, para que el usuario pueda permanecer conectado durante dos semanas? Todo esto es terriblemente confuso, por lo que agradecería cualquier tipo de ayuda por adelantado.

Te estás perdiendo el punto de una sesión. La sesión generalmente persiste hasta que el usuario cierra el navegador (que es el punto en el que el navegador elimina la cookie de sesión de manera predeterminada). Dejar la sesión abierta durante 2 semanas significa que si el usuario se olvida de cerrar sesión, otra persona puede abrir la página y iniciar sesión.

La sesión está activa 24 minutos (o cualquiera que sea la configuración) desde la última interacción del usuario con la página. Si está utilizando ajax, las llamadas ajax extenderán la sesión, por lo que el usuario no se desconectará mientras la página esté abierta en el navegador.

La función “Recordarme” o “Mantenerme conectado” es algo completamente diferente y generalmente establece otra cookie (que puede caducar en 2 semanas) con algún token e iniciar sesión automáticamente en el usuario e iniciar una nueva sesión. Bueno, realmente puede persistir la sesión en la base de datos y restaurar la misma sesión.

Solo tenga en cuenta que la sesión se basa en una cookie en el navegador del usuario, y esta cookie generalmente es de corta duración.

Aparentemente no es tan confuso, porque tiene razón: las sesiones caducan después de ese período de tiempo (o cuando el usuario cierra el navegador) y cambiar esa configuración afectará la vida útil del almacén de la sesión en el servidor. Por supuesto, cada vez que el usuario visita una página, la hora se establece nuevamente en 24 minutos.

Pero si realmente desea un almacenamiento a largo plazo, utilice una base de datos o cookies . Realmente no deberías usar sesiones para eso, porque son solo sesiones (en inglés significa una visita al sitio, por lo que hasta que el usuario cierre tu sitio).

Intente esto, esta es una sesión de almacenamiento simple en bases de datos http://brennydoogles.wordpress.com/2011/09/06/taking-control-of-your-php-sessions-using-database-sessions/