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

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To accept WordPress uploads larger than 2MB on Nginx, raise the limit at every layer that can reject the request: Nginx’s client_max_body_size, PHP-FPM’s upload_max_filesize and post_max_size, and (for Multisite) the network’s maximum upload setting. WordPress reports the smaller of the two PHP values, so changing only one setting commonly leaves the displayed limit unchanged. A 413 “Request Entity Too Large” response normally means Nginx rejected the request before PHP ran.

What actually controls a WordPress upload

An upload passes through several independent ceilings. The first failing layer determines the error you see, and a higher limit at a later layer cannot override a lower one earlier in the request path.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Layer Setting What it limits Where it is configured
Nginx client_max_body_size The entire HTTP request body accepted by Nginx Nginx http, server, or location context
PHP upload_max_filesize One uploaded file The PHP configuration loaded by the PHP-FPM pool serving the site
PHP post_max_size The complete POST request, including the multipart upload and other fields The same PHP-FPM configuration
PHP memory_limit Memory available while PHP processes the request The PHP-FPM configuration
WordPress Multisite Max upload file size A network-level maximum for a single uploaded file Network Admin → Settings → Network Settings

WordPress calculates the PHP upload ceiling as the smaller of upload_max_filesize and post_max_size. Therefore, increasing only upload_max_filesize does not help when post_max_size remains lower. The request also has to pass Nginx’s body limit and, on Multisite, the network limit.

The familiar 2MB value is not a universal WordPress limit. It is an effective value supplied by a particular PHP, Nginx, hosting, or network configuration. Treat it as a symptom to trace, not as a WordPress-wide constant.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.

Before changing anything: find the configuration that is really serving the site

Many failed fixes edit a file that is not used by the active virtual host or PHP-FPM pool. Establish the active path first.

Identify the active Nginx server block

  • Determine which server block handles the site’s hostname, including the HTTPS block if TLS traffic is terminated by Nginx.
  • Check whether the site inherits a value from the global http context or overrides it in a server or location block.
  • Look for an included file that defines upload-related directives. A later, more specific location setting can replace a value you changed elsewhere.
  • Confirm that the block you edit is the one enabled by the running Nginx configuration, not an unused template or an old site definition.

Identify the PHP-FPM pool and loaded PHP settings

  • Use the site’s current WordPress Site Health information or another server-side diagnostic to identify the PHP version and FPM integration serving web requests.
  • Locate the pool configuration for that site. A command-line PHP configuration can differ from the configuration loaded by PHP-FPM, so changing a CLI php.ini alone may have no effect on uploads.
  • Check the effective values of upload_max_filesize, post_max_size, and memory_limit as reported to the web request.
  • Record the upload value WordPress currently displays in Media or Site Health. This gives you a before-and-after check.

On shared hosting, these files may be outside your account’s permissions. If the provider controls Nginx or PHP-FPM, you will need the host to make the change.

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.

Set Nginx’s request-body ceiling

Nginx evaluates client_max_body_size before passing the request to PHP. If the body is larger than that value, Nginx returns a 413 response and WordPress never receives the upload.

Choose a value for the complete request

Set the directive above the size of the individual file you intend to accept. The directive applies to the whole HTTP request, not just the file bytes. Leave room for multipart boundaries, metadata, authentication fields, and any other POST data. Consequently, an Nginx value exactly equal to the desired file size can still be too small.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

Put the directive in the effective context

The directive can be defined in Nginx’s http, server, or location context. Use the narrowest context that matches your operational goal, then verify that no more-specific block overrides it. A representative server-block entry looks like this:

server {
    # site-specific directives
    client_max_body_size 64M;
}

64M is only an illustration. Replace it with a ceiling appropriate for your site and keep it larger than the complete request you expect to receive. Do not place the line in a configuration file that the active server block does not include.

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.

Validate and reload Nginx safely

  1. Save the change in the active Nginx configuration.
  2. Run the syntax/configuration test provided by your operating system’s Nginx package before applying it.
  3. If validation succeeds, reload Nginx using the service manager and command format appropriate to that operating system. A reload is preferable when supported because it applies the new configuration without unnecessarily stopping existing workers.
  4. Check the service status and Nginx error log if the reload fails. A syntax error, an invalid context, or an include-path mistake must be corrected before testing WordPress.

Raise PHP-FPM’s two upload directives

PHP applies two different size checks. upload_max_filesize governs one file; post_max_size governs the entire POST request. PHP’s documentation requires post_max_size to be at least as large as upload_max_filesize, and practical multipart overhead means it should normally be larger.

Set the individual-file limit

Set upload_max_filesize to the largest single file WordPress should accept. This is the value behind the PHP error, “The uploaded file exceeds the upload_max_filesize directive in php.ini.” If this value is lower than Nginx’s ceiling, PHP will reject the file even though Nginx allowed the request through.

Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Set the complete POST limit higher

Set post_max_size to at least the upload_max_filesize value, with additional room for multipart overhead and other POST fields. If post_max_size is lower, WordPress uses that lower value when calculating the displayed maximum.

upload_max_filesize = 50M
post_max_size = 60M

These numbers demonstrate the required ordering only; choose values that match your intended policy. Keep the Nginx request limit above the complete post_max_size value so Nginx does not reject a request that PHP is configured to accept.

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

Give large requests enough memory

WordPress’s upload guidance recommends that memory_limit be larger than post_max_size, with post_max_size larger than upload_max_filesize. This relationship helps PHP process large multipart requests without exhausting its memory allowance:

memory_limit > post_max_size > upload_max_filesize

Memory sizing is not a substitute for the two upload directives. A high memory limit cannot make a low upload_max_filesize accept a larger file, and a high upload limit cannot prevent a memory exhaustion failure while WordPress processes it.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

Reload PHP-FPM, not just the command-line PHP

  1. Save the values in the PHP configuration used by the active PHP-FPM pool.
  2. Use the service manager’s syntax for your operating system and installed PHP-FPM version to reload or restart that pool. The service name and command differ between distributions and PHP versions, so do not copy a command intended for another environment.
  3. Confirm that the pool came back healthy. A failed restart can leave the site serving errors or an older worker configuration.
  4. Recheck the values through WordPress or another web-request diagnostic. A command-line php -i result alone does not prove that PHP-FPM loaded the same file.

Recheck WordPress and test just below the ceiling

After both services have accepted the configuration, open WordPress Media or Site Health and read the reported maximum upload size. WordPress should now show the smaller of the effective upload_max_filesize and post_max_size values.

  1. Confirm that the displayed value changed from the original 2MB (or other prior value).
  2. Prepare a test file slightly smaller than the configured individual-file limit. Testing just below the ceiling avoids confusing request overhead with the file limit itself.
  3. Upload it through the same WordPress screen that previously failed.
  4. If it succeeds, test the actual file type and workflow your site needs. A successful media upload does not prove that every plugin’s separate importer or REST endpoint uses identical limits.

If WordPress still reports the old value, compare both PHP directives in the configuration loaded by the web request. The smaller one is authoritative for WordPress. Then verify that you edited the active FPM pool and that its workers were reloaded.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Fixes for WordPress Multisite

Multisite adds a network-level ceiling after the server and PHP settings. A site can have adequate Nginx and PHP values yet still show a lower maximum because the network administrator set a smaller limit.

  1. Sign in as a network administrator.
  2. Open Network Admin → Settings → Network Settings.
  3. Review Max upload file size and raise it to the intended individual-file limit, provided it does not exceed the server-side policy.
  4. Review Site upload space as well. This controls the storage allowance assigned to sites and is separate from the per-file request limit.
  5. Save the network settings, then return to the site’s Media screen and recheck the displayed limit.

The effective Multisite limit is constrained by all layers: Nginx must accept the complete request, PHP must accept the file and POST, and the network setting must permit the individual file.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

Troubleshoot by the symptom

413 Request Entity Too Large

Start with Nginx. Inspect client_max_body_size in the active http, server, and location contexts, including included files. Confirm the request is reaching the server block you edited and that Nginx was successfully reloaded. A 413 generated before PHP indicates that changing php.ini cannot resolve this particular failure.

“The uploaded file exceeds the upload_max_filesize directive in php.ini”

Check upload_max_filesize in the PHP-FPM configuration used by the web request. Verify the pool was reloaded and that another pool, container, or PHP version is not serving the site. Also compare post_max_size; WordPress cannot report a value above the smaller PHP setting.

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

WordPress still shows 2MB after editing php.ini

  • The edited file may belong to command-line PHP rather than PHP-FPM.
  • The active pool may load a different configuration file.
  • post_max_size may still be 2MB or another lower value.
  • PHP-FPM workers may not have been reloaded.
  • On Multisite, Max upload file size may be lower in Network Settings.

Check these in order, using the value WordPress reports after each service reload as your confirmation.

The size values are high, but processing still fails

Inspect memory and execution resources rather than raising upload limits blindly. The documented WordPress relationship requires memory_limit to exceed post_max_size. Other processing limits can also affect a particular plugin or workflow, but there is no single universal timeout value established for every Nginx and PHP-FPM installation. Review the PHP-FPM and Nginx logs at the time of the failure to distinguish memory exhaustion, worker termination, and application-level errors.

Shared hosting will not let you edit the settings

Some shared hosts control Nginx and PHP-FPM centrally. If your account cannot change the relevant configuration or reload services, send the provider the exact values you need for client_max_body_size, upload_max_filesize, post_max_size, and (if necessary) memory_limit. Ask the host to confirm which PHP-FPM pool and server block handle your domain. If the host’s policy cannot accommodate the required request, a managed WordPress hosting or Nginx hosting support service may be necessary.

Keep the limits consistent

A predictable configuration has a clear ordering. The individual-file limit should be below the complete POST limit; the complete POST limit should be below the available PHP memory; and Nginx’s request-body ceiling should be above the complete POST limit, with practical overhead considered.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Individual file: upload_max_filesize
  • Complete POST: post_max_size, at least as large as the file limit
  • PHP processing: memory_limit, larger than the POST limit for large uploads
  • HTTP request: client_max_body_size, larger than the complete request PHP must receive
  • Multisite policy: Network Admin’s Max upload file size, no higher than the server policy

When all five checks agree, WordPress can accept files over 2MB without relying on a single misleading setting. When they disagree, use the first layer that rejects the request as the starting point for diagnosis.

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.