start sirven sesiones que pasar para paginas manejo las entre ejemplos ejemplo control php session

sirven - session php



Sesiones de PHP que se agotan demasiado rĂ¡pido (4)

Debian utiliza un trabajo cron para caducar automáticamente las sesiones de forma segura. Si está utilizando Debian, mire en /etc/cron.d/php5.

Estoy usando sesiones php en mi sitio web y parece que están "desapareciendo" a intervalos aleatorios. No sé si se agotan debido a la inactividad o si algo está mal con mi código, pero ¿hay alguna forma de controlar las sesiones cuando caducan?

Al igual que puedo poner algo en mi código o cambiar algo en el archivo php.ini?

Actualización- Tan solo y actualiza aquí, cambié de host y mágicamente las sesiones comenzaron a funcionar. No tengo idea de qué estaba mal, pero aparentemente no querían funcionar correctamente.


Intenta usar esta parte del código:

session_start(); $inactive = 600; $session_life = time() - $_SESSION[''timeout'']; if($session_life > $inactive) { session_destroy(); header("Location: logoutpage.php"); } $_SESSION[''timeout'']=time();


Puede usarlo para hacer compatible su aplicación de acuerdo a usted. Tienes que hacer algunos cambios de acuerdo a tu sistema

// Get the current Session Timeout Value $currentTimeoutInSecs = ini_get(’session.gc_maxlifetime’);

Cambiar el valor de tiempo de espera de la sesión

// Change the session timeout value to 30 minutes // 8*60*60 = 8 hours ini_set(’session.gc_maxlifetime’, 30*60); //————————————————————————————– // php.ini setting required for session timeout. ini_set(‘session.gc_maxlifetime’,30); ini_set(‘session.gc_probability’,1); ini_set(‘session.gc_divisor’,1); //if you want to change the session.cookie_lifetime. //This required in some common file because to get the session values in whole application we need to write session_start(); to each file then only will get $_SESSION global variable values. $sessionCookieExpireTime=8*60*60; session_set_cookie_params($sessionCookieExpireTime); session_start(); // Reset the expiration time upon page load //session_name() is default name of session PHPSESSID if (isset($_COOKIE[session_name()])) setcookie(session_name(), $_COOKIE[session_name()], time() + $sessionCookieExpireTime, “/”); //————————————————————————————– //To get the session cookie set param values. $CookieInfo = session_get_cookie_params(); echo “<pre>”; echo “Session information session_get_cookie_params function :: <br />”; print_r($CookieInfo); echo “</pre>”;


La caducidad aleatoria es un síntoma clásico del directorio de datos de sesión compartido por varias aplicaciones: la que tiene el tiempo más corto de session.gc_maxlifetime es probable que elimine datos de otras aplicaciones. La razón:

  1. PHP almacena archivos de sesión en el directorio temporal del sistema de forma predeterminada.
  2. El controlador de archivos integrado no rastrea quién posee qué archivo de sesión (simplemente coincide con el nombre del archivo con la ID de la sesión):

Mi consejo es que configure un directorio de sesión personalizado privado para su aplicación. Esto se puede hacer con la función session_save_path() o estableciendo la directiva de configuración session.save_path . Consulte la documentación de su marco para obtener los detalles precisos sobre cómo hacerlo en su propia base de código.