Foros del Web » Programando para Internet » PHP »

Cambiar el tiempo maximo de sesiones en el ini

Estas en el tema de Cambiar el tiempo maximo de sesiones en el ini en el foro de PHP en Foros del Web. Hola a todos, mi problema con las sesiones es el siguiente: tengo unas variables de sesión definidas, que funcionan perfectamente durante 24 minutos, después de ...
  #1 (permalink)  
Antiguo 28/08/2006, 11:56
Avatar de tupacsoul  
Fecha de Ingreso: julio-2006
Mensajes: 67
Antigüedad: 17 años, 9 meses
Puntos: 0
Mensaje Cambiar el tiempo maximo de sesiones en el ini

Hola a todos, mi problema con las sesiones es el siguiente: tengo unas variables de sesión definidas, que funcionan perfectamente durante 24 minutos, después de ese tiempo, se pierde el valor.

Buscando, encontré que era debido a que en el php.ini, por defecto, session.gc_maxlifetime está a 1440 segundos (24 minutos). Perfecto, hago un

ini_set("session.gc_maxlifetime","7200");

y cambio la configuración a 7200 segundos... pero al cabo de 24 minutos se siguen perdiendo los valores de las variables!!!

La página inicial de declaración de variables contiene el siguiente código al inicio de la página:

session_start();
ini_set("session.gc_maxlifetime","7200");
$_SESSION['gestor_valor']=$valor;
$_SESSION['gestor_name']=$name;

y en las siguientes páginas tengo este otro, aunque en algunas no utilice las variables de sesión definidas.

session_start();
ini_set("session.gc_maxlifetime","7200");

Leí, que a cada petición del servidor las opciones vuelven a ponerse en sus valores por defecto, por eso pongo el ini_set en todas las páginas.

Ahora bien, es necesario el session_start?? se debe poner otra cosa?? Para más información, diré que la sesión no se pierde, solo el valor de las varibales pq si miro el session_id(), me da su correspondiente número.

Alguien tiene alguna idea de lo que pasa???

Gracias
  #2 (permalink)  
Antiguo 28/08/2006, 12:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cuando quieres pre-definir un valor de php.ini en tiempo de ejecución .. en el caso de directivas de configuración que afecten a sesiones se debe hacer -antes- de session_start().

De todas formas .. no sólo involucara "session.gc_maxlifetime" en el tiempo de vida de una sesión, depende de como propagues el SID en tu configuración de PHP (por cookies o URL) y si lo haces por cookies, estás supeditado a tiempo de vida de la cookie que PHP crea para propagar el SID si lo haces por este método.

En este mensaje se trató ampliamente el tema:
http://www.forosdelweb.com/f18/configuracion-php-ini-sesiones-415276/

Los valores los puedes cambiar en tu php.ini (si tienes acceso) .. vía ini_set() (no funciona en todos los casos) .. o via un .htaccess o un php.ini personalizado si usas un servicio de hosting que así defina que puedes configurar PHP por ese médio, en estos casos usando php_flag y/o php_value para definir valores.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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.
Tema Cerrado




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