PHP: Como usar a sessão em uma página enquanto outra página com sessão está sendo carregada

Estou usando o CURL para baixar um arquivo grande de um URL externo e salvá-lo no meu servidor. Isso pode levar alguns minutos. Enquanto o download está em execução, estou usando o curl_setopt ($ ch, CURLOPT_PROGRESSFUNCTION, .. para executar a função anônima que atualiza periodicamente minha variável $ _SESSION ['download_progress'] com informações de download atuais.

Agora, tudo isso está acontecendo no arquivo upload.php e enquanto o usuário está esperando o download do arquivo eu uso o javascript para solicitar a página progress.php que contém o seguinte código simples:

session_start();
echo $_SESSION['download_progress'];

Isso permite que meu código javascript exiba informações sobre o progresso do download.

Exceto que não está funcionando.

A página "progress.php" não será carregada até que o "upload.php" termine de carregar (em outras palavras, ambas as páginas carregam somente após o download do arquivo) e isso não é bom. O session_start () de alguma forma bloqueia a página "progress.php" do carregamento. Eu uso meu próprio servidor (apache + php 5.4), então eu tenho todos os direitos de administrador.

Como posso resolver este problema? Eu poderia usar alguma solução feia, como escrever as informações de download em um arquivo de texto em vez de variável de sessão e, em seguida, usar o javascript para ler diretamente esse arquivo de texto, mas eu prefiro não fazer isso.

obrigado

questionAnswers(1)

yourAnswerToTheQuestion