sesión eliminada entre páginas

Estoy haciendo una página de inicio de sesión y, por alguna razón, la sesión no se mantendrá entre el lugar donde lo configuré y la página a la que me estoy reenviando. Puedo comentar el encabezado en la página donde se inició la sesión y ver que la sesión tenga los datos. Sin embargo, cuando realizo print_r en la página de destino, la sesión está vacía.

Ya me he asegurado de llamar a session_start. Solo hay un dominio para este sitio y mi navegador está configurado para aceptar cookies. Puedo reenviar a cualquier otra página y ver los datos de la sesión, pero no esta.

¿Hay algo que alguien pueda ofrecer para ayudar a depurar esto?

$_SESSION['auth'] = $auth; header( "Location: /" ); // commenting this out shows the data is in fact there 

Quiero proteger la página de índice, así que pruebo para ver si la sesión [‘auth’] está configurada. De lo contrario, me reenvío a / usuario / inicio de sesión que permite al usuario iniciar sesión. Si tiene éxito, volvemos a la página de índice donde debe pasar la prueba de sesión isset. Sin embargo, falla y no hay datos de sesión.

set.php:

 session_start(); $_SESSION['auth'] = true; header('Location: /'); 

index.php:

 session_start(); var_dump($_SESSION); 

Crea estos 2 archivos y solicita set.php. ¿Que ves?

Si configura una variable de sesión, luego redirecciona un encabezado, necesita agregar session_write_close () antes de la redirección o perderá la modificación de sesson.

Algo en lo que me he equivocado bastante es redirigir accidentalmente desde una página con ‘www’. en la URL de una página sin. No estoy exactamente seguro de por qué sucede, pero por alguna razón la sesión entre un sitio es diferente con y sin el ‘www.’.