Skip to content

PHP max_input_vars

max_input_vars is how many input fields PHP accepts in one request. Everything a form sends counts: every text field, checkbox and hidden value. PHP applies the limit separately to form submissions, to parameters in the address and to cookies.

When a form sends more fields than the limit allows, PHP doesn’t refuse it. It keeps the first ones and silently drops the rest. In WordPress, that looks like changes that don’t stick: menu items that vanish after saving, settings that jump back, product variations that lose their data.

Large menus are the classic case. Every menu item sends several fields, so a big menu reaches the limit sooner than you’d expect. Page builder layouts, extensive settings screens and shop products with many variations do too. The limit counts fields, not bytes; a small form with many fields can hit it.

Server: The hosting provider sets the limit in PHP’s configuration. Unlike some other settings, a plugin can’t raise it while running; it has to be set before the request starts.

WordPress: The number of menu items, the settings a plugin puts on a single screen, and how page builders and shop plugins structure their forms decide how many fields one save sends.

The Input variables card is in System info, tab Server & System, under PHP. It shows max_input_vars with the note Fields per form. The card gives context; Permo doesn’t rate it.

PHP’s default is 1,000 input variables (source: php.net, Runtime configuration, accessed October 16, 2026).

Sources