Variáveis ​​de sessão perdidas após o redirecionamento do cabeçalho

Tenha comigo se isso se parece com outras questões postadas aqui, eu já passei por todas as respostas fornecidas, mas não resolveu o meu problema. Eu reduzi meu problema ao mínimo.

Eu tenho duas páginas (page1.php, page2.php)Page1.php cria uma variável de sessão e, se a variável de sessão estiver definida, envia o navegador para Page2.phpEm page2.php, o navegador deve exibir o valor da variável de sessão definida em Page1. phpMeu problema é que page2.php vê a variável de sessão como não definida.Eu tentei todas as soluções postadas por outros usuários no estouro de pilha, como você pode ver no meu código abaixo:

Page1.php

<?php
//start the session
session_start();

//set the session
$_SESSION['mysession'] = "Hello";


if(isset($_SESSION['mysession'])){
    //redirect the person to page 2
    session_write_close();
    header("Location: page2.php?PHPSESSID=".session_id());
    exit();
} else {
 echo "Session Not Set";
}
?>

Page2.php

<?php
//start the session
session_start();
session_id($_GET['PHPSESSID']);

if ( isset ($_SESSION['mysession']) )
   echo $_SESSION['mysession'];
else
   echo "Session not set!";
?>

questionAnswers(2)

yourAnswerToTheQuestion