
El inicio de una sesión puede tener lugar de dos formas. Si has activado la directiva session.auto_start
en la configuración de PHP, la sesión comenzará automáticamente en cuanto un usuario se conecte a tu sitio web. En caso de que ese usuario ya haya abierto una sesión con anterioridad, y esta no se haya eliminado, en lugar de abrir una nueva sesión se reanudará la anterior. Para ello se utilizará el SID anterior, que estará almacenado en una cookie (recuerda que si usas propagación del SID, no podrás restaurar sesiones anteriores; el SID figura en la URL y se pierde cuando cierras el navegador).
Si por el contrario, decides no utilizar el inicio automático de sesiones, deberás ejecutar la función session_start
para indicar a PHP que inicie una nueva sesión o reanude la anterior. Aunque anteriormente esta función devolvía siempre true
, a partir de la versión 5.3.0 de PHP su comportamiento es más coherente: devuelve false
en caso de no poder iniciar o restaurar la sesión.