Cómo se establece la duración de una sesión?
Y si no se establece, cuánto dura por defecto?
Gracias
| |||
Eso lo podes encontrar en el Archivo de Configuración de Apache. Podes hacer un <?phpinfo();?>, para ver la duración. Además la podes configurar en tu httpd.conf
__________________ Julio Hernández |
| |||
Cita: Pero eso sólo define la duración de la cookie si es que se se propaga el SID en cookies (pues se puede propagar por el URL también sólo).
Iniciado por Keitaro El tiempo de vida de una sesión puede ser setado por el php.ini por la directiva session.cookie_lifetime que si es 0, entonces dura hasta que el navegador se cierre. Otro método es por medio de la función session_set_cookie_params que su primer parámetro (y obligatorio) es de int tiempo. Suerte... Sayonara!!! Realmente la directiva que define la duración de un SID válido es la directiva: session.gc_maxtimelife que suele estar por defecto a 1440 segundos (24 minutos aprox.). A partir de ese tiempo .. la sesión pasa al estado "garbage" (basura: SID deshabilitado) listo para ser eliminada del servidor físicamente (el archivo que se crea si usamos por defecto el almacenamiento en "files" de las sesiones que PHP va a crear). Por supuesto esto va en conjunto con session.use_cookies (si se propaga en cookies la sesión) .. si es así el tiempo de duración de la sesión para ese cliente lo determina (si es menor que session.gc_maxtimelife) la duración de esa cookie. Pero, .. que la "cookie" muera sólo implica que se pierda ese SID para ese cliente (navegador) .. pero si de alguna otra forma recuperas el SID (Identificador único de sesión) y pudieras restaurar esa cookie en ese PC (navegador) .. retomarías la sesión activa si session.gc_maxtimelife según su tiempo de expiración siga vigente. Un saludo, |