Foros del Web » Programando para Internet » PHP »

Las sesiones se caducan

Estas en el tema de Las sesiones se caducan en el foro de PHP en Foros del Web. Hola a todos y a todas, Tengo el siguinete problema y ojala me puedan ayudar. Frecuentemente se caducan las sesiones, en las páginas inactivas (menos ...
  #1 (permalink)  
Antiguo 28/11/2003, 18:40
 
Fecha de Ingreso: diciembre-2002
Ubicación: d.f
Mensajes: 79
Antigüedad: 21 años, 3 meses
Puntos: 0
Las sesiones se caducan

Hola a todos y a todas,

Tengo el siguinete problema y ojala me puedan ayudar.

Frecuentemente se caducan las sesiones, en las páginas inactivas (menos de 30 minutos aproximadamente), la forma en que propago la sesión es por URL, ya que no es necesario que el usuario tenga activadas sus cookies en su máquina. Según el manual la sesión se debe de caducar despues de 180 minutos. Les anexo datos:

Ejemplo de como propago la sesión
----------------------------------------
página donde doy de alta la sesion
$name_sesion= usuarios;
session_name($name_sesion);
session_start();

Página que cacha el valor de la sesión.
session_start();
$session=session_name()."=".session_id();

--si hago referencia a una página
<a href="destino.php?<?php echo $session;?>pagina destino con sesion</a>


configuración en el phpinfo()
---------------------------------
; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

; Whether to use cookies.
session.use_cookies = 1

; use transient sid support if enabled by compiling with --enable-trans-sid.
session.use_trans_sid = 1


; Document expires after n minutes.
session.cache_expire = 180

----------------------------------------------

Saludos y muchas gracias.
  #2 (permalink)  
Antiguo 28/11/2003, 19:37
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Hola, tienes que modificar la directiva session.cache_expire del archivo php.ini normalmente son 180 minutos, el problema es si no puedes acceder al fichero php.ini, me parece que había una forma de setearlo pero no la se.

Un saludo.
  #3 (permalink)  
Antiguo 29/11/2003, 10:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si no tienes acceso a tu php.ini o bien deseas ajustar el tiempo de expiración de forma dinámica puedes hacerlo:

ini_set("session.cache_limiter","tiempo en segundos");

ó usando:

session_cache_limiter()
(recomendable esta función).

Tambien tienes otras directivas que afectan al tiempo de expiración .. como:

session.gc_xxxx
(lee el php.ini .. está explicado que hace cada una . o en www.php.net)

NOTA:
Si usas:
session.use_cookies = 1
session.use_trans_sid = 1

No es necesario que propagues el SID de forma manual como lo estás haciendo .. Con esas directivas le dices a PHP que propague el SID en una cookie y que "reescriba" ciertos tag HTML de links, formularios .. etc para que imprima el SID en ellos. (eso sí, si propagas el SID en cookies (session.use_cookies=1) necesitas un navegador que acepte cookies.


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

Última edición por Cluster; 29/11/2003 a las 10:21
  #4 (permalink)  
Antiguo 01/12/2003, 12:41
 
Fecha de Ingreso: diciembre-2002
Ubicación: d.f
Mensajes: 79
Antigüedad: 21 años, 3 meses
Puntos: 0
Gracias

De verdad agradezco su apoyo, gracias a éste foro he realizado una aplicación, sín tener mucho conocimiento en PHP.

PD: Closter ya te bautice como mi SANTO closter, nuevamente gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:13.