Foros del Web » Programando para Internet » PHP »

Intentando aumentar el tiempo de session.

Estas en el tema de Intentando aumentar el tiempo de session. en el foro de PHP en Foros del Web. Buenas a todos, Es la primera vez que posteo y os aseguro q no será la ultima. Estoy empezando con esto de php y van ...
  #1 (permalink)  
Antiguo 29/09/2005, 15:23
 
Fecha de Ingreso: septiembre-2005
Mensajes: 9
Antigüedad: 12 años, 2 meses
Puntos: 0
Intentando aumentar el tiempo de session.

Buenas a todos,

Es la primera vez que posteo y os aseguro q no será la ultima. Estoy empezando con esto de php y van surgiendo dudas. De la misma forma intentare contribuir con mi pequeño conocimiento.

Tenia una duda referente a la duracion de las sessiones en php. Necesito q duren unos 90 minutos mas o menos pq tengo hecho un sistema de evaluacion que pasado 40 minutos se mande automaticamente las respuestas o se manden explicitamente si le das al boton de enviar. El problema que tengo es q como por defecto las sessiones duran 24 minutos, cuando con mi sistema de evaluacion llegamos al minuto 40 y se intenta enviar por sí solo las respuestas y se intentan almacenar en la base de datos, la session ha finalizado y estoy un poco quemado ya por el tema pq tiene q ser una tonteria. El caso es que me vuelve a la pagina inicial.

El codigo que tengo puesto en las primeras lineas de todos mis ficheros .php es el siguiente:

<?php
session_name('medicina_general');//nombre de la sesion
ini_set('session.gc_maxlifetime',5400);//90 minutos
session_start();
if (!isset($_SESSION['usuario'])){ Header("Location: index.html"); }
?>

Qué puede estar pasando?, alguna sugerencia?, pq termina la session a los 25 minutos y no a los 90 como le digo...?


Un saludo y gracias por anticipado.
  #2 (permalink)  
Antiguo 29/09/2005, 15:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El valor que das a session.gc_maxlifetime vía ini_Set() debes hacerlo antes de cualquier funcion session_name() o session_start() ..


Un saludo,
  #3 (permalink)  
Antiguo 29/09/2005, 16:04
 
Fecha de Ingreso: septiembre-2005
Mensajes: 9
Antigüedad: 12 años, 2 meses
Puntos: 0
ini_set('session.gc_maxlifetime',5400);//90 minutos
session_name('medicina_general');//nombre de la sesion
session_start();

Valdria este orden?, Muchas gracias Maxo!
  #4 (permalink)  
Antiguo 29/09/2005, 16:36
 
Fecha de Ingreso: septiembre-2005
Mensajes: 9
Antigüedad: 12 años, 2 meses
Puntos: 0
Tenia otra duda...he ejecutado el phpinfo() sobre el servidor para ver el valor de la variable que indica la duracion de las sessiones y me da esto:

session.gc_maxlifetime
5400 1440

el 5440 es el localvalue q es el q yo le indique pero el Master Value con cual se corresponde, con el valor por defecto?. salu2
  #5 (permalink)  
Antiguo 29/09/2005, 16:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm supuestamente el "master" value es lo que tienes que tener en tu php.ini .. y el otro es el que estás alterando por un ini_set() .. o por un .htaccess por ejemplo.

La función ini_set() no cambia el valor de tu php.ini .. lo que hace es tomar ese valor para el tiempo que dure tu script .. por es entre otras cosas es necesario que en todos los scripts que usen sesiones incluyas ese código que fija tu configuración para el tiempo de ejecución.

Un saludo,
  #6 (permalink)  
Antiguo 30/09/2005, 01:43
 
Fecha de Ingreso: septiembre-2005
Mensajes: 9
Antigüedad: 12 años, 2 meses
Puntos: 0
Jo! no funciona lo tengo en todos mis scripts ese codigo y nada de nada, sigue tomandome 24 minutos!. Qué puedo estar haciendo mal?. Por otro lado y como culturilla, cuanto tiempo dura un script?, mientras tengamos abierta la pagina con el navegador es su tiempo de vida no?.

Saludos
  #7 (permalink)  
Antiguo 30/09/2005, 03:12
 
Fecha de Ingreso: septiembre-2005
Mensajes: 9
Antigüedad: 12 años, 2 meses
Puntos: 0
A ver...

es muy estraño, ejecuto este codigo en mi servidor local y me muestra tanto en local value como master value un 5400 en el apartado de session...

<?
ini_set('session.gc_maxlifetime',5400);//90 minutos
session_name('medicina_general');
session_start();
phpinfo()
?>

pero en el servidor al que no tengo acceso de configuración, me muestra en local value 5400 (ese si me lo cambia) pero en el master value 1440...yo creo que mientras eso no esté a 5400 no me funcionará...qué puede estar fallando cluster?...

Un saludo chico!
  #8 (permalink)  
Antiguo 30/09/2005, 04:28
 
Fecha de Ingreso: septiembre-2005
Mensajes: 9
Antigüedad: 12 años, 2 meses
Puntos: 0
Arggg me sigue sin funcionar. Al post ultimo no le hagas ni caso que ayer haciendo pruebas modifique el php.ini de mi servidor local y por eso me mostraba 5400 pero ahora en ambos me muestra lo mismo.....¿Qué pasa?, arggggggggggggg ya no sé q hacer...............:(((((((((((((((
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 13:37.