3 Ways to Fix WordPress File Upload Limit Without Technical Knowledge

·

Increase WordPress File Upload Limit

⚡ TLDR

If WordPress says your file is too large, the limit is usually coming from your hosting server, not WordPress itself. Start with your hosting dashboard or PHP settings, then try php.ini, .htaccess, or wp-config.php if your host still allows it. Most shared hosts now block some of the old tricks, so the fastest fix in 2026 is often changing the PHP limit inside cPanel, Plesk, or asking support to raise it.

One rainy evening, I was trying to upload a chunky plugin backup on a client site and WordPress threw that annoying “file exceeds upload_max_filesize” error again. Same old drama. The site worked fine until the one moment I actually needed it to behave.

If you’re seeing a WordPress upload error, your server is limiting how big a file you can upload. Sometimes it’s 2MB. Sometimes 64MB. Either way, it becomes a problem the second you try to upload a theme, plugin, video, PDF, or backup file that’s bigger than the limit.

The good news is this is usually fixable. The less fun part is that the fix depends on your hosting setup. And honestly, some old methods still floating around blogs don’t work on modern managed hosting anymore.

Why WordPress upload limits happen

WordPress itself doesn’t randomly decide to block your upload. In most cases, the limit comes from PHP settings on your server. The main ones are:

  • upload_max_filesize
  • post_max_size
  • max_execution_time
  • max_input_time
  • memory_limit

If one of these is too low, bigger uploads fail. You’ll usually notice it when uploading media files, installing plugins manually, restoring backups, or importing demo content.

What I’d try first in 2026

Before editing files, do one thing. Check your hosting panel first. A lot of hosts now give you a built-in PHP settings manager inside cPanel, Plesk, DirectAdmin, or a custom dashboard. That’s cleaner, faster, and less likely to break something.

If your host has a “Select PHP Version,” “PHP Options,” or “MultiPHP INI Editor” tool, change the values there first.

Setting Safe starting value What it affects
upload_max_filesize 64M or 128M Max size of a single uploaded file
post_max_size 64M or 128M Total size of the full upload request
memory_limit 128M or 256M How much memory PHP can use
max_execution_time 300 How long the upload or process can run
max_input_time 300 How long PHP waits for input data

Best for: Most shared hosting users.

Skip if: You don’t have dashboard access or your host locks PHP settings.

1. Create or edit the php.ini file

This method still works on some servers, though not all. Years ago it was my default fix. I don’t recommend it first anymore, because many hosts ignore local php.ini files now. Still, if your server allows it, it can solve the problem fast.

You can create a php.ini file in your WordPress root folder or in the relevant admin directory, depending on how your server is configured. Then add these lines:

upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 300
memory_limit = 256M

After saving, clear any server cache if your host uses one, then test by uploading the file again.

Method Works on Risk level
php.ini Some shared hosting, VPS, custom servers Low

Best for: Hosting accounts that allow custom PHP configuration files.

Skip if: You’re on managed WordPress hosting like Kinsta, WP Engine, or a locked-down environment.

2. Increase the limit with .htaccess

If your site runs on Apache, this method may work. If it runs on Nginx, it usually won’t. And if your host disallows PHP values inside .htaccess, you might trigger a 500 error. So yes, useful, but handle it carefully.

Open the .htaccess file in your WordPress root folder. Hidden files may need to be enabled in your file manager. Add this at the end:

php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
php_value memory_limit 256M

If your site throws an internal server error right after saving, remove the code immediately. That means your host doesn’t allow this method.

Method Works on Common issue
.htaccess Apache servers 500 error on hosts that block PHP directives

Best for: Apache hosting with full access to root files.

Skip if: Your site uses Nginx or your host warns against editing .htaccess.

3. Try wp-config.php if your host supports it

This one doesn’t always raise upload size directly, but it can help when memory is the bottleneck. I’ve used it on smaller WooCommerce sites where imports kept failing halfway through.

Add this line to your wp-config.php file, just above the line that says /* That's all, stop editing! */:

define('WP_MEMORY_LIMIT', '256M');

This won’t override every server limit, but it’s worth trying if uploads fail during processing rather than at the start.

Method What it changes Usefulness
wp-config.php WordPress memory limit Helpful in some cases, not a full upload-limit fix

Best for: Memory-related upload or import failures.

Skip if: The error clearly shows a hard file size limit like 2MB or 8MB.

4. Change PHP settings from WHM or hosting control panel

If this is your own server, VPS, or reseller hosting with WHM access, this is usually the proper fix. Same goes for cPanel’s MultiPHP INI Editor. It’s cleaner than random file edits and survives better over time.

  1. Log in to WHM or your hosting control panel.
  2. Open the PHP configuration editor or PHP options section.
  3. Select the PHP version your site is using.
  4. Increase upload_max_filesize, post_max_size, and related limits.
  5. Save the changes.
  6. Restart PHP-FPM or web services if your server setup requires it.

For many sites, 128MB is a sensible upload limit. If you upload backups or large media often, you may want 256MB or higher.

Panel Where to look Notes
WHM PHP Configuration Editor Best if you manage the server
cPanel MultiPHP INI Editor or Select PHP Version Most common shared hosting fix
Plesk PHP Settings Usually straightforward

Best for: Server owners, VPS users, reseller accounts.

Skip if: You only have basic WordPress admin access.

A common mistake people make

They raise upload_max_filesize and forget post_max_size. Then the upload still fails and they think the change didn’t work. I’ve done this myself, late at night, while blaming the host for my own nonsense.

Usually, post_max_size should be equal to or higher than upload_max_filesize. And if you’re importing heavy stuff, your memory limit needs enough room too.

If nothing works

At that point, the limit is likely locked at the server level. Cheap shared hosting does this a lot. You can either ask support to raise the limit or move to better hosting.

And honestly, if support replies with a copy-paste answer and no actual fix, I’d take that as a signal. Upload limits are basic stuff. If a host makes that painful, bigger problems usually show up later.

What I’d actually do: If it’s my money and the site matters, I’d first try the hosting panel PHP settings. If that fails, I’d ask support to raise the limit. If support won’t do it, I’d switch hosts instead of stacking hacks on top of a bad server.

Final recommendation

The old php.ini and .htaccess tricks still work sometimes, but they’re no longer the first thing I’d recommend. In 2026, the best fix is usually inside your hosting panel or through support.

So start there. It’s faster. Less messy. And you won’t wake up to a 500 error because one line in .htaccess ruined your evening.

If I had to pick one route, I’d go with changing PHP settings in cPanel, Plesk, or WHM. That’s the cleanest long-term fix for most sites.