Ver Mensaje Individual
  #10 (permalink)  
Antiguo 27/12/2004, 10:31
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:
En mi formulario en ningun momento estoy propagando un SID, en cada pagina del formulario voy recogiendo unas variables que voy guardando en la sesion y que al final recojo en un archivo.txt final, despues vacio y destruyo la sesion, no lo creia necesario al no ser una zona de "cliente" digamos.
Ya lo estás haciendo aunque no sepas ni que es el concepto de "SID" (Identificador único de sesión) ..

Cita:
Entonces, me dices que para que las funciones session_cache_expire() y _limiter() tengan efecto sobre la session es imprescindible declarar el SID pues es a el a quien se refieren y no a la session en si?
No .. las funciones session_caché_expire() se refiere a laduración de la página en la caché de tu navegador (cliente) .. nada que ver con tiempos de expiración de la sesión .. y el session_cache_limiter() define si se hará o no caché o de que tipo para tus páginas donde uses sesiones (session_start()) ..

Cita:
O sea primero se debe nombrar la sesion, declarar el SID y entonces puedo manejar los tiempos de vida y eso siempre declarando una cookie?
No, todo eso ya lo hace PHP bajo el estado de las directivas de tu php.ini (lo puedes ver en tu caso haciendo un phpinfo() a tu servidor y viendo el valor de las session.xxxx directivas) .. entre ellas: session.gc_xxxx .. session.use_cookies .. etc.

más info: www.php.net/sesssion

Cita:
Es muy importante para mi tener esto claro antes de ponerme a modificar lo que ya tengo funcionando.
En las FAQ's de este foro y en la documentación oficial de PHP tienes la teoría de como funcionan las sesiones, que es el SID y lo que implica .. también el "por qué" es inspresindible que ese "SID" sea propagado entre tus scripts de tu aplicación .. ya sea por el URL (automáticamente por parte de pHP o manualmente) o bien en cookies.

Cita:
Como se han propagado tanto ese SID por defecto y ['x], por la cookie?
En tu caso si .. pero esto no se produce por "arte de magia" .. debes revisar haciendo a tu servidor un phpinfo() que valor tienen las directivas de sesiones que definen el método de propagación del SID

Cita:
1. Para determinar el tiempo de vida de una sesion mediante session_cache_expire es imprescindible dar un nombre a la session y nombrar un SID.
No, .. ya te comenté que no tiene nada que ver esa función (lo que hace) con lo que pretendes hacer. La directiva que principalmente controla el tiempo de expiración de una sesión ya te comenté en el anterior mensaje cual era y que se dá valor (si es que no tienes restringido hacerlo) vía la función ini_set()

Cita:
2. Si no se cumple 1, hay que usar ini_set("session.cache_expire","valor"); para redefinir el valor por defecto para el tiempo de vida de las sesiones.
Te hacía el comentario que esa función sólo cambiar el valor por defecto de tal directiva que ahí indiques para el tiempo de ejecución del script .. (y que esa directiva en cuestión no es la que debes alterar su valor).

Por lo demás .. las sesiones no se suelen definir tiempos de expiración mas allá de lo que dura tu usuario en tu sitio navegando páginas definindo la propagación del SID en cookies con tiempo de expiración 0 para la cookie (lo cual hace de la cookie tipo "sesion") y muere al cerrar la última ventana de tu sitio abierta. Todo esto en conjunto con session.gc_maxlifetime que es la que en última instancia la que manda sobre la validez del SID en curso.


Un saludo,