What server-side solution are you using? (PHP, ColdFusion, ASP, .Net, etc.)
What webserver are you using? (IIS or Apache or something else)
How much physical RAM is on the server? How much of that is allocated to the webserver?
Is this being saved to the webserver file structure? Or a database? If database, which flavor? If not, how much drive space is provided to the webserver?
Well, if smaller files are successfully being uploaded and saved, but larger files are erroring out, the only conclusions that I can think of are:
Apache memory is set too small.
The PHP module on Apache is somehow limiting the size allowed.
Some kind of disk quota restricting uploads on the physical server.
Honestly, I’ve only played around a bit with Apache and PHP, so don’t really know that much about configuration, but I did find the following on Google:
I’m guessing you’re on a shared host? If so they aren’t likely to be too keen on having a site dominate resource use and risk losing other customers. You could ask them if they offer a different plan that would meet your needs, or figure out a way to have your videos upload to a CDN instead of the site’s server.
Maybe, maybe not. The only way to know for sure would be to explain to your host what you want to do and find out what they have to say.
If the largest known to work was 36MB and the smallest known to not work was 92MB I think it would be a good idea to narrow down the breaking point to a more narrow range.
You could add memory_get_peak_usage to the end of the script to see if it’s always the same maximum amount for the fails.
You could do a simple $end - $start to see if it’s more time related than filesize.
Your web server can have other timeout configurations that may also interrupt PHP execution. Apache has a Timeout directive and IIS has a CGI timeout function. Both default to 300 seconds. See your web server documentation for specific details.
i.e. the 36MB takes less than 5 minutes, but the 92MB stops at 5 minutes.
Timeout didn’t even appear on my radar!! Of course, it could be timeout.
I don’t know if PHP has it, but ColdFusion has: <cfsetting requesttimeout="1000"/> which will extend the timeout to 1000 seconds. Does PHP have similar?