Apuntes sobre sesiones de PHP

Publicado en 5 noviembre, 2019

En la documentación oficial viene información que no se ajusta a la realidad. Aquí algunas soluciones encontradas a problemas habituales.

REGENERAR ID DE SESIÓN

  • Según web oficial:
    • session_regenerate_id() reemplazará el id de sesión actual por uno nuevo, y mantendrá la información de la sesión actual. Spoiler: Se pierde la sesión.
  • Solución real:
    • $old_session = $_SESSION; // guardamos datos de sesión en una variable auxiliar
    • session_regenerate_id(true); // nuevo id
    • session_write_close(); // cerramos el flujo
    • session_start(); // iniciamos otra vez la sesión
    • $_SESSION = $old_session; // recuperamos las variables

LIFETIME DE LA SESIÓN

  • Según web oficial: dentro de session_start() incluir un array con el atributo cookie_lifetime o cookie_setparams.
  • La realidad: setear una cookie así ->
    setcookie(session_name(), session_id(), $TIME, "/", null)

Sin respuestas to "Apuntes sobre sesiones de PHP"


    ¿Algo que comentar?