Check the effective value first at WooCommerce > Status > Server environment > max_input_vars. PHP’s documented default is 1,000 variables. If a large product, variation, tax-rate, or settings form exceeds that limit, PHP can discard the remaining fields without an obvious browser error. Set a higher value in the active php.ini—WooCommerce uses 3000 as an example—or, where the host allows it, add php_value max_input_vars 3000 to .htaccess. Reload the PHP handler when required, verify the new value in WooCommerce Status, and only then retry the save.
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
What max_input_vars controls
max_input_vars is a PHP request limit. It caps how many input variables PHP accepts from one request, including values submitted by HTML forms. The PHP Group documents a default of 1,000 and classifies the directive as INI_PERDIR, meaning it is normally configured in a server-level file such as php.ini or an allowed per-directory override rather than changed by ordinary PHP code during a request.
As an Amazon Associate I earn from qualifying purchases.
Recommended Free Tools
WooCommerce administration screens can submit unusually large forms. A variable product may contain many variation rows, each with several fields. Tax-rate screens and other settings pages can also send hundreds or thousands of named inputs. When the request contains more variables than the active limit, PHP may accept the beginning of the submission and discard the excess. WordPress and WooCommerce can then appear to save successfully while some later rows or fields remain unchanged.
Typical symptoms
- New variations disappear after clicking Save changes.
- Only the first group of variation fields is stored; fields lower on the page revert on reload.
- Some tax-rate rows save while others do not.
- A product or settings page reports no clear validation error, but the submitted values are incomplete.
- The same form works when it contains fewer rows or fields.
These symptoms indicate that the request should be investigated, not that a particular target value is guaranteed to solve every installation. Other request filters, server rules, validation errors, or a different PHP handler can produce similar results.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Check the active value before changing anything
Do not infer the limit from the browser, a local development machine, or a hosting plan description. WooCommerce reports the value used by the PHP environment serving the WordPress request.
- Sign in to WordPress with an account that can view WooCommerce system information.
- Open WooCommerce > Status.
- In the Server environment section, locate
max_input_varsand record its effective value. - Reproduce the problem and note the exact screen: a variable product, tax-rate page, or another settings form. Knowing which form fails helps you judge whether the number of submitted fields is the likely trigger.
The value shown there is the one that matters. A text editor may show a different setting in a file that the active PHP handler never reads, and a command-line PHP installation can use a different configuration from the web server.
Free tools Windows power users keep installed
One-click scans. No signup required.
Choose a sensible target
Why WooCommerce mentions 3,000
WooCommerce documentation gives 3000 as an example when explaining how to raise the limit. It is not a universal WooCommerce requirement, a guaranteed minimum, or a recommendation that every site should copy unchanged. A small catalog may need less; a catalog with many variations may need more.
Size the limit for your largest form
Choose a value that exceeds the largest request you actually submit, with reasonable room for additional variations or fields. Start by identifying the failing form and counting its submitted controls, including repeated fields for each variation or rate row. If the current value is 1,000 and the form is close to that size, a moderate increase such as 3,000 provides headroom without blindly selecting an extremely large number.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
The objective is not to maximize the directive. Very large limits can permit unexpectedly large requests and may increase the work a server performs while parsing them. Account for the resources and request policies of your host, especially on shared plans. Increase the value in measured steps and test the real form after each change.
Compare the available configuration methods
| Method | Access required | When it works | Reload or restart | How to verify | Main caveat |
|---|---|---|---|---|---|
php.ini |
Access to the PHP configuration used by the web server, or a hosting control panel that edits it | When the active PHP handler reads that file and the host permits the directive | Often required; follow the stack’s procedure for reloading PHP or the web server | Check WooCommerce > Status > Server environment | A server can have several PHP versions or handlers, each with a different configuration file |
.htaccess |
Write access to the site directory and a server that permits PHP value overrides | Only on configurations that process php_value directives for that site |
Usually picked up with the next request, but the host’s server policy controls the result | Confirm the effective value in WooCommerce Status | An unsupported directive can cause a server error or be ignored |
| Hosting panel | Permission to edit PHP options for the site or selected PHP version | When the panel changes the handler serving WordPress | Panel instructions determine whether a reload is automatic | Verify from WooCommerce rather than trusting the panel alone | Labels and available limits differ by host |
| Hosting support | A support request when configuration is centrally managed | When the host controls PHP, request filtering, or security modules | The provider applies any required service change | Ask them to confirm the effective web value, then recheck WooCommerce | They may enforce a maximum or decline per-site overrides |
Method 1: edit the active php.ini
Use this method when you administer the server or your hosting panel exposes the PHP configuration for the site.
- Identify the PHP version and handler assigned to the WordPress site. The web server’s PHP configuration, not necessarily the command-line PHP configuration, is the relevant one.
- Open the
php.inifile used by that handler, or open the panel’s editor for that PHP version. - Add or change the directive so it contains one value, for example:
; php.ini
max_input_vars = 3000
- Save the file. If the host uses separate pools or handlers, make sure you changed the one serving this domain.
- Reload or restart the relevant PHP service or web-server component when the stack requires it. A file edit alone does not guarantee that already-running workers have adopted the new setting.
- Return to WooCommerce > Status > Server environment and confirm that
max_input_varsnow shows the intended value. - Retry the exact product, tax-rate, or settings save and inspect the result after reloading the page.
If WooCommerce still reports the old number, stop retrying the form and determine which configuration file and handler are actually active. Changing another copy of php.ini will not help if the web request does not read it.
Method 2: use a per-directory .htaccess override
Some Apache-based hosting environments permit PHP settings in the site’s .htaccess file. WooCommerce documents this equivalent line:
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
php_value max_input_vars 3000
- Back up the existing
.htaccessfile before editing it. - Place the directive in the appropriate site-level
.htaccessfile, following your host’s placement rules. - Save the file and request a page from the site.
- Open WooCommerce > Status > Server environment and check whether the effective value changed.
This method is conditional. A host may disable php_value overrides, use a PHP handler that does not accept them, or manage the setting centrally. If the directive is not permitted, the server can ignore it or return an error such as HTTP 500. Remove the line or restore the backup if the site becomes unavailable, then ask the host for the supported method.
Apply the change and verify it in the right order
Verification is part of the fix. Use this sequence so you do not mistake an edited file for an active setting:
- Record the original
max_input_varsvalue shown by WooCommerce. - Change one configuration method only.
- Reload or restart the relevant PHP service if your stack requires it, or use the hosting panel’s apply/restart action.
- Open WooCommerce Status in a fresh request and confirm the new effective value.
- Retry the failing form with the same data.
- Reload the saved product or settings page and check every variation, rate, or field—not just the first few rows.
If the value changed but the form still loses data, max_input_vars was not the only limit involved. Continue with the checks below rather than repeatedly raising the number.
What to do when the value does not change
The old value remains in WooCommerce Status
- Wrong configuration file: The web server may use a different
php.inifrom the command-line PHP installation or from another domain. - Wrong PHP version or handler: A hosting panel can switch a site between PHP versions, each with its own configuration. Edit the version currently assigned to the domain.
- Override policy: The host may block
.htaccesschanges or enforce a server-wide value. - Workers not reloaded: Existing PHP-FPM or other managed workers may continue using the old configuration until the provider reloads them.
Ask hosting support to identify the active PHP configuration and apply the change if you cannot verify those points yourself. Include the site’s domain, current WooCommerce-reported value, requested target, PHP version, and the time of the test.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
The site returns HTTP 503 or another server error
WooCommerce warns that mod_security can block submissions and may contribute to 503 responses. A 503 is not proof that max_input_vars is too low; it may indicate a security rule or request-size policy triggered by the form. Do not disable security protection globally as a first response. Ask the host to inspect the relevant rule and determine whether a narrowly scoped adjustment is appropriate.
Older or specialized installations mention Suhosin
WooCommerce lists suhosin.post.max_vars and related request or post limits for older or specialized environments. If Suhosin is installed, raising PHP’s max_input_vars alone may leave a second ceiling in place. The provider must check the Suhosin policy and any other request limits before changing them.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesThe value is high, but fields are still missing
- Confirm that the new value is visible in WooCommerce Status during the same test.
- Check whether a security module, firewall rule, or host request limit rejects or truncates the submission.
- Test a smaller version of the form to determine whether the failure begins at a particular size.
- Look for ordinary WooCommerce validation errors, JavaScript failures, or plugin conflicts that can prevent fields from being serialized or saved before PHP receives them.
- Ask the host to review server logs for the request, especially if the browser shows a 403, 413, 500, or 503 response.
These checks separate a PHP variable-count limit from a blocked request or an application-level problem. Keep the value at the smallest level that reliably handles the largest legitimate form.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.WooCommerce cases that commonly expose the limit
Variable products
Each variation can contribute multiple submitted inputs for price, stock, dimensions, identifiers, downloads, and other options. Adding rows increases the request size even when the visible product page looks like one form. If only later variations disappear, compare the number of rows submitted with the value shown in WooCommerce Status and test again after the configuration change.
Best Value
Tax-rate tables
Tax-rate screens can contain repeated fields for country, state, postcode, rate, name, and compound or shipping flags. A table with many rows can exceed the default even when each row is simple. After increasing the limit, verify rows throughout the table, including those at the bottom.
Other settings screens
Shipping, checkout, and extension settings can also generate large requests when they contain repeated rules or many enabled options. The same diagnostic path applies: identify the failing screen, check the effective value, change the active configuration, verify, and then inspect all saved fields.
PHP-version changes are a separate decision
WooCommerce notes that the host controls PHP at the server level and recommends using a current supported PHP version. Upgrading PHP can change which configuration file or handler serves the site, but it is not the same operation as increasing max_input_vars. Treat a PHP upgrade as a separate maintenance task: confirm plugin and theme compatibility, back up the site, and verify the effective setting again after any handler change.
When to involve your hosting provider
Contact the provider when you lack access to the active php.ini, the reported value never changes, .htaccess causes an error, or a security module appears to block the request. A managed WooCommerce host that allows per-site PHP-limit changes can apply the setting without exposing server-wide configuration. In your ticket, request a specific effective value rather than a vague “WooCommerce limit” change.
Quick Recap
- State the current value shown at WooCommerce > Status > Server environment.
- Request the target value, such as
3000, and explain which form fails. - Ask whether the active handler reads
php.inior permitsphp_valuein.htaccess. - Ask them to check Suhosin, mod_security, and other post or request limits if the problem persists.
- After they make the change, verify the result in WooCommerce before retrying the save.
Final checklist
- Check the value in WooCommerce > Status > Server environment; PHP’s documented default is 1,000.
- Identify the exact form and confirm that it submits a large number of fields.
- Choose a measured target. WooCommerce’s 3,000 figure is an example, not a universal requirement.
- Change the active
php.ini, an allowed.htaccessoverride, or the host’s PHP panel—not an unrelated configuration file. - Reload the relevant PHP service when required.
- Verify the effective value in WooCommerce Status.
- Retry the save and inspect every variation, rate, and setting.
- If the value is unchanged or the response is 503, escalate to the host and have them check handler selection, Suhosin, mod_security, and other request limits.
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.




