PHP: cómo utilizar la sesión en una página mientras se carga otra página con sesión

Estoy utilizando CURL para descargar un archivo grande de una URL externa y guardarlo en mi servidor. Esto puede tardar unos minutos. Mientras se ejecuta la descarga, estoy usando curl_setopt ($ ch, CURLOPT_PROGRESSFUNCTION, ..) para ejecutar una función anónima que actualiza periódicamente mi variable $ _SESSION ['download_progress'] con la información de descarga actual.

Ahora, todo esto está ocurriendo en el archivo upload.php y mientras el usuario está esperando a que se descargue el archivo, utilizo javascript para solicitar la página progress.php que contiene el siguiente código simple:

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

Esto permite que mi código javascript muestre información sobre el progreso de la descarga.

Excepto que no está funcionando.

La página "progress.php" no se cargará hasta que el "upload.php" termine de cargarse (en otras palabras, ambas páginas se carguen solo después de que el archivo haya finalizado la descarga) y esto no es bueno. El session_start () de alguna manera bloquea la carga de la página "progress.php". Uso mi propio servidor (apache + php 5.4), así que tengo todos los derechos de administrador.

¿Como puedó resolver esté problema? Podría usar alguna solución fea, como escribir la información de descarga en un archivo de texto en lugar de la variable de sesión y luego usar el javascript para leer directamente ese archivo de texto, pero preferiría no hacerlo.

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta