Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/07/2006, 06:42
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por pepe500
Ya lo he modificado, pero sigue igual, no se cierra la sesión pasado el tiempo establecido en session.gc_maxlifetime

No se si habrá que modificar algo más.
Y como propagas el SID tu? (tanto en tu configuración de PHP como en código)

Si no sabes ni de que se trata el SID (Identificador Único de Sesión) lo más probable es que lo estés propagando por Cookies .. más encima como PHP deja por defecto la duración de dicha cookie que usa para propagar el SID que es tipo "cookie de sesión" (0). Esto lo define la directiva: session.use_cookies (y/o opcional: session.use_only_cookies) y directivas afines que ajustan propiedades de esa cookie que PHP creará para propagar el SID en ese modo.

En ese caso, mientras pases entre páginas el SID sigue siendo válido y por ende se reinicia el contandor interno del tiempo de expiración de tu sesión.

La sesión muere .. o mejor dicho en este caso (propagación del SID en cookies y tiempo de vida de esa cookie como "de sesión" (0)) al cerrar la última ventana de tu sitio .. ahí la cookie que propaga el SID se muere y por ende pierdes el enlace del SID creado con el cliente que lo creó .. aunque la sesión siga válida y activa por el tiempo que define session.gc_maxlifetime.

En resumen .. lo primero es saber como un propaga el SID .. saber que se puede propagar de dos formas: cookies y URL .. de ahí ver que método te combiene más y sus detalles de cada uno.

Lo recomendable es propagar el SID en cookies (SI), pero si quieres expirar tu sesión a tiempo .. no sólo debes ajustar session.gc_maxtimelife que define la duración de tu sesión .. sino el del "SID" que va propagado en tu cookie (la que crea PHP para tal fin): session.cookie_lifetime .. el valor debería ser teóricamente igual o superior al que define session.gc_maxtimelife

Por otro lado, PHP y su sistema de sesiones nativo no es de lo mejor .. hay otros sistemas que incorporan y/o suplantan/mejoran funcionalidades para el manejo de sesiones mucho más avanzados, por ejemplo:

ADOdb
http://phplens.com/lens/adodb/docs-session.htm

Es necesario leer la ducumentación oficial sobre sesiones .. todo esto está indicado ahí.
www.php.net/session


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.