Foros del Web » Programando para Internet » PHP »

Tiempo de Sesion y php.ini

Estas en el tema de Tiempo de Sesion y php.ini en el foro de PHP en Foros del Web. Tengo una cuenta de hosting , en donde uso sessiones. estas sessiones caducan en un tiempo X, segun las directivas del server. Mi consulta es ...
  #1 (permalink)  
Antiguo 14/10/2008, 08:57
 
Fecha de Ingreso: diciembre-2006
Mensajes: 439
Antigüedad: 17 años, 4 meses
Puntos: 1
Tiempo de Sesion y php.ini

Tengo una cuenta de hosting , en donde uso sessiones.

estas sessiones caducan en un tiempo X, segun las directivas del server.

Mi consulta es : es posible crear un php.ini personal para mi cuenta de hosting, en donde modifique el tiempo de expiracion de mi session y hacer que nunca expire?
cual seria la sentencia que irian dentro del php.ini personal para mi cuenta de host?

Salu2

  #2 (permalink)  
Antiguo 14/10/2008, 09:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Tiempo de Sesion y php.ini

Hola Jose1310,

Eso lo debes de consultar con tu hosting, ellos son los que te deben de dar esa facilidad, si es que te la llegan a ir, la entrada correcta es session.max_lifetime.

Saludos.
  #3 (permalink)  
Antiguo 14/10/2008, 13:30
 
Fecha de Ingreso: julio-2008
Ubicación: BOGOTA
Mensajes: 81
Antigüedad: 15 años, 10 meses
Puntos: 1
De acuerdo Respuesta: Tiempo de Sesion y php.ini

yo cree esto para no tocar los php.ini que son un asco

<form name="crono">
<!-- esto lo hizo Juan saca al usuario despues de un tiempo-->
<input type="text" size="4" name="contador" style="border:0px; margin: 0px 0px 0px 0px;" title="Cronometro">
<script language="JavaScript">
<!--
var timeCrono;
var min = 20; //tiempo sesion
var seg = 00;
var startTime = new Date();
var start = startTime.getSeconds();
var the_crono;
StartCrono();
function ResetCrono(){
clearTimeout(the_crono);
min = 1; //tiempo sesion
seg = 60;
startTime = new Date();
start = startTime.getSeconds();
StartCrono();
}
function StartCrono() {
if (seg - 1 < 0) {
min -= 1 ;
seg = 59 ;
} else seg -= 1;

if ((min == 3) && (seg == 0)) {
window.open('aviso.html','Popup', 'toolbar=no, location=no, scrollbars=no, status=no, menubar=no, resizable=no, width=470, height=170')
}

if ((min == 0) && (seg == 0)) {
location = 'salir.php';
}

timeCrono= (min < 10) ? "0" + min : min;
timeCrono+= ((seg < 10) ? ":0" : ":") + seg;
document.crono.contador.value = timeCrono;
the_crono = setTimeout("StartCrono()",1000);
}
//-->
</script>
</form>

este formulario lo pones donde quieras...para que el cronometro no se vea cambia el type a hidden y en location escribes el nombre de lapaginaa redirigir..
en este script el tiempo esta para20 minutos
  #4 (permalink)  
Antiguo 14/10/2008, 14:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Tiempo de Sesion y php.ini

Lamentablemente esa solución no funcionara muy bien si tienes desactivado Javascript, por eso es mejor controlar en el server.

Saludos.
  #5 (permalink)  
Antiguo 14/10/2008, 19:20
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Tiempo de Sesion y php.ini

Hola juanguitar,

La solución es más fácil de lo que parece... (Si tu proveedor de hosting no te dice como cambiar session.gc_maxlifetime, haz lo siguiente)

Coloca esto antes de tu session_start:

Código PHP:
$horas 72//la cantidad de horas que quieres que duren tus sesiones como mínimo (obviamente, teniendo en cuenta que el usuario no cierre el navegador, porque de esa forma se pierde la cookie)

$tiempo $horas 3600;
ini_set("session.gc_maxlifetime",$tiempo);

//aquí el session start 
Pruébalo y dinos.

Saludos.
  #6 (permalink)  
Antiguo 14/10/2008, 19:39
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Tiempo de Sesion y php.ini

Me olvidaba,
debes colocar eso antes de todos tus session_start.

Por eso otra alternativa muy conveniente setear el valor desde el .htaccess de la raiz de tu sitio.

Así:

Código:
php_flag session.gc_maxlifetime numero_grande 
De esa manera solamente tocas un archivo: .htaccess (si utilizas Apache, por supuesto)


Prueba alguna de las dos alternativas.

Ciao
  #7 (permalink)  
Antiguo 15/10/2008, 00:12
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Sonrisa Respuesta: Tiempo de Sesion y php.ini

orale el uso del
ini_set("session.gc_maxlifetime",$tiempo);

no lo habia visto

saludos
__________________
gerardo
  #8 (permalink)  
Antiguo 15/10/2008, 00:33
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Tiempo de Sesion y php.ini

Cita:
Iniciado por chalchis Ver Mensaje
orale el uso del
ini_set("session.gc_maxlifetime",$tiempo);

no lo habia visto

saludos
Tienes que tener en cuenta que no todas las opciones de tu php.ini pueden ser cambiadas usando ini_set()
  #9 (permalink)  
Antiguo 15/10/2008, 15:42
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años
Puntos: 11
Respuesta: Tiempo de Sesion y php.ini

Cita:
Iniciado por Ronruby Ver Mensaje
Tienes que tener en cuenta que no todas las opciones de tu php.ini pueden ser cambiadas usando ini_set()
Para saber cuáles sí y cuáles no, debes fijarte aquí. Para poder ser cambiado desde tu script php, la tercer columna debe decir: PHP_INI_ALL (tal como en session.gc_maxlifetime)

Best regards.
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 05:12.