October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

How to Increase the Maximum File Upload Size in WordPress

A practical guide to increasing WordPress upload limits: check Site Health, configure PHP correctly, align Nginx request limits, handle timeouts and temporary storage, and fix common errors.
WorldWordPress Length10 min Posted Quest giverVGSources Team

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To increase WordPress’s maximum upload size, raise PHP’s upload_max_filesize and set post_max_size higher than it, then raise any web-server request limit that is smaller. WordPress has no general dashboard control for changing the server limit. Start by checking the values WordPress is actually receiving, change the configuration used by the website (not merely the command-line PHP configuration), and verify the result in Site Health.

Check the effective limit before changing anything

WordPress reports the limits supplied by the PHP process serving your site. In the dashboard, open Tools > Site Health > Info, expand Media handling, and record the values shown there. The screen is read-only: it diagnoses configuration but does not alter it. See the WordPress Site Health documentation.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Site Health field What it represents How it affects an upload
Max size of post data allowed PHP post_max_size The maximum size of the complete HTTP POST request, including the file and multipart form data.
Max size of an uploaded file PHP upload_max_filesize The largest individual file PHP will accept.
Max effective file size The smaller of the two PHP values This is the practical per-file limit WordPress can offer.
Max number of files allowed PHP max_file_uploads The number of files permitted in one request, independent of their sizes.

You can also open Media > Add New. WordPress displays Maximum upload file size on that screen. It derives that value from the PHP settings available to WordPress, as described in the Media Add New documentation and the wp_max_upload_size() reference.

If Site Health and Media > Add New show a value lower than the one you expected, the web request is using a different PHP configuration from the one you edited, or another limit is constraining the result.

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.

Understand the limits that must agree

For a single large file, PHP evaluates both of these directives:

upload_max_filesize = 64M
post_max_size = 80M

upload_max_filesize applies to one file. post_max_size applies to the entire request, so it must leave room for multipart boundaries and any other submitted fields. PHP requires post_max_size to be larger than upload_max_filesize; WordPress calculates its effective upload size using the smaller value. The PHP core configuration manual, WordPress PHP optimization guidance, and wp_max_upload_size() reference document this relationship.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Example configuration Effective result Reason
upload_max_filesize = 64M
post_max_size = 80M
64 MB per file The file directive is the smaller value.
upload_max_filesize = 80M
post_max_size = 64M
Not a reliable 80 MB upload limit The POST ceiling is smaller, and PHP expects it to exceed the file ceiling.
upload_max_filesize = 128M
post_max_size = 128M
Less than 128 MB in practice There is no overhead allowance, and the values are not in the required order.

Choose a target that includes headroom. For a file target of 64 MB, the 64M/80M pair is a practical starting point; it does not guarantee that every 64 MB file will pass if a proxy, web server, timeout, disk, or security policy imposes another ceiling.

Change PHP’s configuration in the environment serving WordPress

The correct method depends on whether the site uses a self-managed server, PHP-FPM, CGI/FastCGI, an Apache PHP module, or a hosting control panel. Make the change in the PHP configuration read by the web server. A value shown by a command-line php -i command may belong to a different PHP installation or version and may have no effect on browser uploads.

Option 1: Edit the active php.ini

On a self-managed server, add or edit the directives in the active php.ini:

upload_max_filesize = 64M
post_max_size = 80M

The active file may be a system configuration, a PHP-FPM pool configuration, or a provider-managed file. If PHP-FPM or the web server keeps a long-running process, reload or restart the applicable service after saving the change. The exact service command varies by operating system and hosting stack, so use the service manager or hosting documentation for that server rather than assuming a command.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed

On managed hosting, the provider may intentionally prevent direct edits. Look for a PHP settings or “MultiPHP” style panel, or ask support to raise both directives for the site’s web PHP version. Request the values explicitly and then confirm them in WordPress; a panel change is not complete until the web-facing PHP process has picked it up.

Option 2: Use .user.ini with CGI or FastCGI

For PHP running through CGI or FastCGI, create or edit a file named .user.ini in the site’s document root:

upload_max_filesize = 64M
post_max_size = 80M

PHP reads per-directory .user.ini files only under CGI/FastCGI. The default cache interval, user_ini.cache_ttl, is 300 seconds, so a valid change can take up to five minutes to appear. The PHP per-directory configuration documentation explains the filename, execution modes, and cache behavior.

Use the document root for the WordPress installation, ensure the file is readable by the PHP process, and wait for the cache interval before judging the result. If your host uses a different document root for the public site, place the file there rather than in an unrelated account directory.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Option 3: Use Apache .htaccess only when the PHP mode supports it

On Apache running PHP as an Apache module, the equivalent directives are:

php_value upload_max_filesize 64M
php_value post_max_size 80M

Put them in the applicable site-level .htaccess, normally in the document root, and back up the file first. This syntax is not universal. Apache installations using CGI or FastCGI generally require php.ini, .user.ini, a hosting panel, or provider assistance instead. Adding php_value where it is unsupported can produce an HTTP 500 error. If that happens immediately, remove the two lines (using file access or the host’s recovery tools) and switch to the configuration method supported by the site’s PHP execution mode. The PHP per-directory configuration documentation distinguishes these modes.

Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)

Raise Nginx’s request-body limit when applicable

Nginx has a separate ceiling called client_max_body_size. It limits the complete request body, not just the file. The documented default is 1m, and the directive is valid in the http, server, and location contexts. In the relevant Nginx configuration, set it at least as high as PHP’s post_max_size:

client_max_body_size 80m;

Use the smallest scope that covers the WordPress upload endpoint, or set it at the server level if that is how your configuration is organized. Validate the Nginx configuration and reload Nginx according to your operating system’s service procedure. The official client_max_body_size documentation lists the syntax and contexts.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If Nginx rejects the request before PHP receives it, the client may show a generic upload failure while the server returns 413 Request Entity Too Large. Raising WordPress’s displayed value cannot bypass that earlier rejection. A reverse proxy, CDN, load balancer, or Apache layer in front of PHP may impose another request limit as well; each layer must permit a body at least as large as the intended POST.

Allow enough time and temporary storage

Receiving a slow upload

Large files over a slow connection can fail while PHP is still receiving the request. Review these PHP directives when a size increase produces timeout errors:

max_input_time = 300
max_execution_time = 300

max_input_time controls how long PHP may receive and parse request data, including file uploads. max_execution_time controls script execution after request processing begins. Increasing only the execution time does not necessarily fix a timeout that occurs during transfer. The PHP file-upload pitfalls documentation explains this distinction.

Set values appropriate for your server’s capacity and traffic. Longer limits keep workers occupied for longer, so raising them indiscriminately can reduce concurrency on a small server. If a proxy or load balancer has its own idle or request timeout, PHP settings alone cannot extend that upstream limit.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC

Writing the temporary upload file

PHP first writes an uploaded file to a temporary directory. If upload_tmp_dir is configured, that directory must exist and be writable by the PHP process. If it is not configured, PHP attempts to use the system temporary directory. Check free space, permissions, and any container or hosting quota on that location. The PHP core configuration manual documents upload_tmp_dir and the related directives.

A full temporary directory can make a small upload fail, while a large upload can exhaust space even when the final WordPress media directory has room. Leave capacity for the temporary copy and for WordPress’s generated image sizes if the file is an image.

Submitting many files at once

max_file_uploads limits the number of files in one request, separately from their byte size. The PHP manual lists a default of 20. Increasing the maximum size does not increase this count. If a gallery or batch form submits more files than the count allows, raise max_file_uploads deliberately or divide the operation into smaller batches, subject to the limits your host permits.

Verify the change in WordPress

  1. Wait for the .user.ini cache interval, or reload/restart the relevant PHP-FPM or web-server service after editing server configuration.
  2. Open Tools > Site Health > Info > Media handling.
  3. Confirm that Max size of an uploaded file, Max size of post data allowed, and Max effective file size show the intended relationship and values.
  4. Open Media > Add New and check Maximum upload file size there as well.
  5. Test with a file slightly below the displayed target, not a file exactly equal to it. Multipart overhead can make the complete POST larger than the file, which is why post_max_size should exceed upload_max_filesize.

Use a nonessential test file and remove it afterward. If the value remains unchanged, the web PHP process is probably reading another configuration file, the host is overriding the setting, or a cache has not expired. Recheck the PHP version and SAPI used by the website rather than relying on command-line output.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshoot by the symptom

Symptom Likely layer Action
Site Health still shows the old value Wrong PHP configuration, provider override, or unexpired .user.ini cache Wait up to the documented cache interval, verify the web PHP version and execution mode, and apply the change in the provider’s web-PHP settings.
Upload ends with HTTP 413 Nginx or another request-body gateway Raise client_max_body_size and check any proxy or CDN limit so it is at least as large as post_max_size.
Site returns HTTP 500 immediately after editing .htaccess Unsupported Apache/PHP directive syntax Remove the php_value lines and use .user.ini, php.ini, a hosting panel, or host support.
Small files work but large, slow transfers time out max_input_time, upstream timeout, or unstable connection Review input and proxy timeouts; changing only max_execution_time may not address the receiving phase.
PHP reports a temporary-file or upload error Missing permissions, full upload_tmp_dir, or full system temporary storage Check the configured directory, PHP-process permissions, available disk space, and hosting quotas.
One file uploads but a batch does not max_file_uploads or a request-size limit Count the submitted files, compare with the PHP count limit, and split the batch or raise the count where permitted.
WordPress shows a higher value but the request still fails Web server, reverse proxy, CDN, disk, or security layer Inspect the HTTP status and server logs, then raise or adjust the limiting layer rather than changing WordPress code.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Common fixes that do not change the server limit

Adding a fictional WordPress constant

Do not add define('UPLOAD_MAX_FILESIZE', '64M'); to wp-config.php. WordPress does not provide a UPLOAD_MAX_FILESIZE constant that changes PHP’s upload ceiling. The relevant values are PHP directives, which WordPress reads when calculating the effective size. See the wp_max_upload_size() reference and the PHP core configuration manual.

Looking for a normal WordPress Settings control

Standard WordPress does not include a general dashboard setting for increasing the server’s PHP upload limit. Tools > Site Health > Info displays configuration data; it does not edit it. A host-provided panel or server-level change is required.

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.

Lowering post_max_size below the file limit

A configuration such as upload_max_filesize = 64M with post_max_size = 32M cannot provide a dependable 64 MB upload. The complete request is capped at 32 MB, and PHP requires the POST limit to be larger than the file limit. Keep the POST setting higher and allow overhead.

Assuming every .htaccess recipe is portable

php_value directives work only where Apache is running PHP in a compatible module mode. They can break CGI/FastCGI sites. Identify the PHP execution mode first, or use the host’s supported settings interface.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A safe sizing example

Suppose your largest planned media file is about 60 MB. A coherent configuration could be:

Layer Setting Example value Purpose
PHP upload_max_filesize 64M Allows one file up to the chosen file ceiling.
PHP post_max_size 80M Leaves room for multipart request overhead.
Nginx, if present client_max_body_size 80m Prevents Nginx from rejecting the complete POST first.
PHP, if transfers are slow max_input_time 300 Provides up to five minutes to receive and parse input, subject to other infrastructure limits.

After applying the values, verify the effective size in Site Health and test below the target. The example is a configuration pattern, not a guarantee that a particular host permits those values or that every upstream gateway uses the same defaults.

When the host will not allow a larger limit

Some shared or managed environments enforce maximum PHP values, restrict .user.ini, or place a request-size limit in a proxy you cannot administer. In that situation, ask the provider which maximum values are available for the site’s web PHP version and whether Nginx, Apache, a load balancer, or a CDN adds another cap. If the provider cannot raise the limit, use smaller upload batches or a transfer workflow supported by that environment rather than repeatedly changing WordPress files. Any workaround still has to fit the server’s request, timeout, temporary-storage, and disk constraints.

The reliable sequence is therefore: measure the web-facing PHP values, set upload_max_filesize, set a larger post_max_size, align Nginx or other request limits, allow enough input time and temporary space, and verify with a below-limit test in WordPress.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.