The uploaded file exceeds the upload_max_filesize directive in PHP.ini.

The error “the uploaded file exceeds the upload_max_filesize directive in PHP.ini” occurs when you are trying to upload a large file which can be an image, plugin, theme, or video. If the file size of the upload exceeds the maximum upload size configuration on your hosting server, you’ll see this error message.

The fix? Edit your server’s configuration settings to increase the maximum upload file size.

Key Takeaways

  • Extending the server’s default file upload limit is a good starting point
  • The easiest method to fix this error is by modifying the PHP configurations in cPanel
  • Website backup is recommended if you edit the .htaccess file or the wp-config.php file

📚 Table of contents:

What causes the “the uploaded file exceeds the upload_max_filesize directive in PHP.Ini” error?

In the introduction, we talked about how your hosting prevents large files like images, videos, plugins, or themes from being uploaded to the server. They want to ensure that the server resources are being fairly shared among its users. By putting a cap on the file size, they make sure that no single website is using a disproportionate amount of server space or memory.

In WordPress, you can check your upload limit by opening the Media Library upload area – Media > Add New.

maximum upload size on media wordpress
Finding maximum upload size on WordPress

The good news is you can overcome this hurdle by changing the default limit. However, there are risks involved. One of the most common risks that you run into is by making the slightest of error in the .htaccess or wp-config file and your entire website would come down crashing.

To safeguard your site from such a nightmare, we recommend taking a backup of your website before trying any of the tips in this article.

How to fix the “upload_max_filesize” error in WordPress

To upload a large file into your website, all you need to do is increase the upload limit on your server. We’ll share four different methods to achieve this – at least one of them should work for your site.

⚠️ Note: You can adjust the upload limit to the desired value as long as your hosting provider supports it. If your file size is 10MB and your hosting supports up to 8MB, then you’d have to move to a better hosting provider.

To discover your PHP memory limit, go to Tools > Site Health > Info.

site health in wordpress
Finding PHP memory limit on WordPress

1. Modify PHP configurations on cPanel

Let’s start with the easiest method, which should work fine as long as your host uses cPanel for the hosting dashboard.

If your hosting provider doesn’t offer cPanel, you can try one of the other options on this list.

👉 Here’s how to increase the max upload size in cPanel:

  1. Log into your hosting account.
  2. Open cPanel.
  3. Go to Select PHP Version > PHP Options/Options. Or, in some situations, you might need to look for a tool called MultiPHP INI Editor.
  4. Change the value for upload_max_filesize according to your needs.
php option in file manager
Increase upload limit in the cPanel

2. Edit the .htaccess file

The .htaccess file lets you control key configuration details for your web server. On many hosts, you can edit this file to increase the max upload filesize limit

Needless to say, it’s an extremely crucial file and should be handled with caution.

To start, connect to your server using an FTP client. If you’re not sure how to do that, follow our detailed FTP guide.

Before making any changes, download a copy of the .htaccess file onto your computer as a backup option. That way, if you encounter a problem, you can just delete the edited file from your website and upload the old file to make things go back to how they were.

download htacess from htaccess
Downloading file from Filezilla

Once you have your backup copy, right-click to edit the file on your server. Then, add the following code snippet and adjust the values based on your need:

php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 128M
editing htacess file - upload_max_filesize directive in PHP.ini
Editing the .htaccess file

Close the file, go to your website, and check whether you can upload large files.

Some of you may encounter the following error after inserting the code – Warning: PHP runs in CGI-mode.

If you see this message, it means you can’t use this command in the .htacess file because of how your hosting environment is configured. Remove the code snippet and try some of the next methods.

3. Edit the wp-config.php file

The wp-config.php file contains important configuration details for your WordPress site. Without the config file, you will lose access to your site’s content. Handle the file carefully.

As part of those configuration details, you can make changes to the maximum upload limit on your site.

To begin, connect to your website using an FTP client and download a copy of the wp-config.php file as a safety net. If anything goes wrong, you can reupload this copy to your site to make things go back to how they were.

Next, edit the file and insert the following code snippet above the /* That's all, stop editing! line as shown in the image below. Make sure to change the value based on how large files are to be allowed on your website.

@ini_set('upload_max_size' , '128M' );

editing wp-config file - upload_max_filesize directive in PHP.ini
Editing the wp-config file

Save the file, exit, and check if you can upload large files to your website. If you can’t upload the file, then try the next method.

4. Update php.ini via FTP (didn’t work for us)

The php.ini is a configuration file and modifying it will override your server settings. Updating the file didn’t work for us but it is a popular method recommended by hosting providers so we suggest you give it a try.

Whether or not it works really depends on how your hosting server is configured, so it might work for you even though it didn’t work for us.

Make sure you have backed up your website before proceeding with the steps.

Like all other configuration files (i.e. wp-config and .htaccess), the php.ini should be located in your root folder.

Connect to your website using an FTP client.

If you see an existing file called php.ini, save it on your local computer as a backup. Open the file and you should find an option that says upload_max_filesize = 128M. Change the value to whatever suits you best.

If you don’t see an existing file called php.ini, you can just create a new one in the root folder. Then, edit it and add the following line:

upload_max_filesize = 128M

Make sure to save your changes when you’re done.

create new file in file manager - upload_max_filesize directive in PHP.ini
Creating a new file in the File Manager

Fix the “upload_max_filesize directive in PHP.ini” error for good 🚀

In this tutorial, we covered four different ways of fixing the “The uploaded file exceeds the upload_max_filesize directive in php.ini.” error in WordPress.

If none of the methods worked for you, we recommend uploading the file via FTP and then importing it to your Media Library using a plugin like Add From Server. But if that fails too, you will need to talk to your hosting provider about having them increase the upload limit for you.

For more help with WordPress, we have a complete guide to fixing common WordPress errors. We also have a guide that details the basic practice of WordPress troubleshooting.

Do you still have any questions about how to fix the “upload_max_filesize” error? Let us know in the comments below.

2 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
K K
January 3, 2024 6:36 pm

Hi there!
I’m using this article to update the file upload size using the “1. Modify PHP configurations on cPanel” method.
In my case, the upload_max_filesize (under PHP Options) is set to 2M. Whereas, in the Site Health > Info, the PHP Memory Limit shows 256 M.
I need to a plugin zip file with size 5.13 MB.
Do I need to set the upload_max_filesize to 512M or some other option?
I’m bit confused about it.

Member
Ivica
January 4, 2024 7:46 am
Reply to  K K

Yes, you need to set the upload_max_filesize option to at least 5.13 MB to upload the plugin zip file. The PHP Memory Limit setting, which is currently set to 256 MB, is used to determine the amount of memory that PHP can allocate for a single request: https://themeisle.com/blog/increase-wordpress-memory-limit/

This is separate from the file upload limit, which controls the maximum size of files that can be uploaded to the server.

To ensure seamless uploading of the plugin zip file, consider setting the upload_max_filesize to a minimum of 5.13 MB. For greater flexibility in handling larger files going forward, you might want to consider setting it to 512 MB. 🙂

Or start the conversation in our Facebook group for WordPress professionals. Find answers, share tips, and get help from other WordPress experts. Join now (it’s free)!