File is 25 Mb long, that script should just send it to browser. For some reason it only sends small chunk of file (each time different amount, from 4Kb to couple Mb) and then aborts. There is no time out, abort happens few seconds after script execution.
Any ideas what in server configuration could cause this to happen?
Check the Apache Error Log, that’d normally give you a reason for any error that did occur, equally, the error MIGHT be appended to the end of the .zip file (open it in a basic text editor).
I’ve tried sending that file in 1Mb chunks instead of readfile(), which reads whole file into memory. It does help a bit, download is much faster and usually half of file is being sent before abort instead of few kilobytes.