Hola a todos,
Tengo un "problema" interesante.
Hice un script que abre un archivo de video (AVI) de, por ejemplo, 600mb y fuerzo su descarga, de forma que haciendolo bien, la integridad del archivo no se ve afectada.
Fuerzo la descarga leyendo el archivo a descargar fopen(), y fread() para abrirlo, y se fuerza por tanto la descarga con headers.
Una vez que sabemos esto, quiero decir que dispongo de un servidor dedicado de 8 nucleos (2,66Ghz) y 6GB ram, y además 20gb de SWAP y 230gb de disco.
Por tanto, tengo establecidos parámetros de timeouts para evitar que, durante la transferencia de dicha película (700mb) que puede durar hasta 1 hora, establecí:
memory_limit = -1 [ -1 = ILIMITADO, esto es IMPORTANTÍSIMO, ya que es lo que limita el peso de los archivos, si quiero forzar la descarga de un AVI de 700mb, si este valor es inferior, se joderá :) ]
max_execution_time = 5400 [ Así nos aseguramos de que no haya problemas ]
max_input_time = 5400 [Igual, es necesario ]
La cuestión, tras haber configurado esto del php.ini, y configurar el limite de ram por proceso en el cpanel para matarlo, puesto en ilimitado, debería funcionar.
Pues bien, todo funciona correctamente, pero una vez sobrepasado los 252mb, se corta la conexión.
PREGUNTA:
¿Qué parametro puede estar interfiriendo?
Nota: La descarga se paró a los 24 minutos, ~25 segundos.
(Lo probé ambas veces con el mismo archivo y se para a los 252mb).
Un saludo y gracias por su tiempo.