When managing a website or application on shared web hosting, you may occasionally run into file upload limits. While typical websites operate comfortably with modest settings, requests sometimes come in to dramatically raise parameters such as
upload_max_filesize and post_max_size to several gigabytes (e.g., 2 GB, 3 GB, or 4 GB).This article explains why multi-gigabyte PHP upload values cannot be accommodated on shared hosting, what our standard limits are, how to handle large files properly, and the formal escalation process if you believe your use case warrants specialized review.
What Do These Settings Do?
upload_max_filesize: Sets the maximum size allowed for an individual uploaded file.
post_max_size: Sets the maximum size of allPOSTdata submitted in a single request. Because file uploads are sent via HTTP POST along with other form data,post_max_sizemust always be slightly larger thanupload_max_filesize.
max_execution_time/max_input_time: The amount of time (in seconds) a PHP process is allowed to run or parse incoming data before being terminated.
Recommended Sizing vs. Multi-Gigabyte Uploads
| Maximum Upload Size | Typical Use Case | Shared Hosting Compatibility |
| 10 MB – 50 MB | Blog images, documents, standard web forms | Fully supported & optimal |
| 100 MB – 256 MB | High-res photography, PDFs, audio clips | Fully supported |
| 512 MB | Large media archives, plugin/theme updates, compressed files | Standard upper limit on shared platforms |
| 1 GB – 4 GB+ | Raw 4K video footage, full database dumps, massive backups | Not supported on shared hosting |
Why Can’t We Set Multi-Gigabyte Limits on Shared Hosting?
On a shared hosting server, system resources (CPU, RAM, bandwidth, disk I/O, and web server worker processes) are shared among many accounts. Setting an upload limit to 2 GB, 3 GB, or 4 GB poses critical risks to the health and stability of the entire server:
1. HTTP and Web Process Timeouts
Standard web browsers and HTTP proxies are not designed to transmit multi-gigabyte files through a standard web form or single PHP POST request. A 3 GB upload over a typical residential or office connection can take 15 to 45 minutes or longer. PHP and web server processes (Nginx/Apache) will naturally hit execution thresholds (e.g., 300 seconds), causing the upload to abort midway and throw an error.
2. Severe Worker and Memory Consumption
When a multi-gigabyte file is uploaded through PHP, web server threads remain tied up for the entire duration of the transfer. If multiple visitors or automated scripts trigger large uploads concurrently, all available server worker threads become occupied. This starves other processes and leads to
504 Gateway Timeout or 502 Bad Gateway errors for your own site and others on the server.3. Server-Wide Stability and Abuse Prevention
Allowing unlimited or multi-gigabyte POST requests creates an immediate vector for Denial-of-Service (DoS) and resource exhaustion. An attacker or malfunctioning script could repeatedly submit multi-gigabyte requests, rapidly filling server temp directories (
/tmp), consuming disk I/O, and degrading performance across the machine.Recommended Alternatives for Handling Large Files
If you need to transfer large datasets, videos, or full website backups, sending them through a standard browser upload form in PHP is rarely the best architectural approach. We strongly recommend:
1. Upload via Standard FTPS or Plesk File Manager
If you are uploading website backups, themes, or large media archives to your hosting space, connect directly using an FTPS client (such as FileZilla using standard FTP over explicit TLS) or your Plesk control panel's built-in File Manager. Standard FTP transfers are designed specifically for large files and bypass PHP execution and POST body limits.
(Note: Shared hosting environments do not provide command-line SSH or SFTP access).
2. Offload Media to External Cloud Storage or CDN
If your website serves large videos, downloadable software, or audio archives, host those files externally on specialized storage platforms (e.g., Amazon S3, Vimeo, YouTube, Google Cloud Storage, or Cloudflare R2) and embed or link to them on your site.
3. Implement Chunked or Resumable Uploads
Modern web applications handling large files use chunking libraries (e.g.,
Dropzone.js, Resumable.js, or specialized WordPress plugins). These divide large multi-gigabyte files into small 5 MB–10 MB chunks on the user's browser, upload each piece sequentially within standard PHP limits, and reassemble the file on the server.4. Dedicated Server or VPS Environments
If your web application strictly mandates raw, non-chunked, multi-gigabyte HTTP POST requests via PHP, it has outgrown a shared hosting architecture. Such workloads require a Virtual Private Server (VPS) or dedicated cloud instance (from a specialized VPS provider) where you have root access and dedicated RAM/CPU to configure custom Nginx and PHP worker limits without impacting other users.
Escalation Policy: Requesting an Exception
Our Customer Support team cannot set PHP upload sizes to multi-gigabyte values (such as 2 GB–4 GB) on standard shared hosting environments.
If your website has an unavoidable business requirement and you are requesting limits exceeding our standard thresholds, you must submit a detailed request in writing via support ticket with the following information:
- Specific Domain & Server Name: (e.g.,
yourdomain.caoncanadaXX).
- Exact Setting Values Requested: The specific values you require for
upload_max_filesizeandpost_max_size.
- What File Types Are Being Uploaded: (e.g., raw video, zipped site migrations, database dumps).
- Frequency & Concurrency: How often will these files be uploaded, and by whom (e.g., one site administrator once a month, or public site visitors continuously)?
- Why Alternative Methods (FTPS / Cloud Storage / Chunking) Cannot Be Used: A clear explanation of why standard FTPS, external storage, or chunked uploading cannot accommodate this process.
Once received, our Customer Service team will review your application context and forward the request to our Hosting Systems Engineering team. Our engineers will assess whether the request can be accommodated safely for that specific domain or if a dedicated/VPS environment is strictly required.
Comments
0 comments
Please sign in to leave a comment.