🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como aumentar max_input_vars no WordPress

Time Full Services Time Full Services
Tipo Erro do servidor
Nome do erro max_input_vars EN: max_input_vars
Severidade Atenção
Descrição O limite baixo de max input vars no WordPress faz o PHP descartar campos quando um formulário, menu ou tela de opções envia mais variáveis do que o teto permite (padrão 1000). O resultado é menu cortado ao salvar e configurações que somem sem nenhum erro visível.

O que é o limite de max input vars?

A diretiva max_input_vars do PHP define quantas variáveis de entrada o servidor aceita em uma única requisição, somando campos de GET, POST e cookies. O padrão da maioria das hospedagens é 1000. No WordPress, telas como o editor de menus, painéis de opções de tema e formulários extensos podem enviar mais variáveis do que isso. Quando o total ultrapassa o limite, o PHP simplesmente ignora os campos excedentes, sem erro fatal: o WordPress salva só a parte que recebeu, e o restante some. Por isso o sintoma costuma ser silencioso e confuso.

Como identificar

  • Um menu grande perde itens ao salvar: só os primeiros do total permanecem.
  • Painéis de opções de tema ou plugin não gravam todas as configurações, voltando ao valor anterior.
  • Formulários longos (Contact Form, WooCommerce com muitos atributos) gravam apenas parte dos campos.
  • Aparece o aviso “Unable to load dynamic library” ou “input variables exceeded 1000” no debug.log do PHP.
Antes de começar: Faça backup do php.ini e do .htaccess antes de editar: um erro de sintaxe nesses arquivos derruba o site. Aumente o limite só o necessário, pois um max_input_vars muito alto deixa cada requisição consumir mais memória do servidor.

Como prevenir

  • Mantenha max_input_vars em pelo menos 3000 em sites com menus grandes ou WooCommerce
  • Em painéis de opções extensos, salve por seções em vez de tudo de uma vez quando possível
  • Após migrar de servidor, confira o max_input_vars na Saúde do Site, pois o padrão pode voltar a 1000

Causa

  • max_input_vars do PHP em 1000 enquanto um menu do WordPress envia mais de mil variáveis ao salvar.
  • Painel de opções de tema pesado, com dezenas de campos enviados de uma só vez na mesma requisição.
  • Plugin de formulário com muitos campos, cada um virando uma variável de entrada no POST.
  • Loja WooCommerce com produtos de muitos atributos ou variações, estourando o teto ao atualizar.
  • Importação de configurações em massa, que envia centenas de variáveis numa única requisição.

Como resolver

  1. Confirme o limite atual: no wp-admin, vá em Ferramentas, Saúde do Site, Informações, Servidor e veja o valor de max_input_vars. Isso mostra de quantas variáveis você está partindo.
  2. Aumente o limite no php.ini: via FTP, edite (ou crie) o php.ini na raiz do site e suba o valor para 3000, folga suficiente para menus e formulários grandes:
    max_input_vars = 3000
  3. Se não tiver acesso ao php.ini, use o .htaccess: em servidores Apache, adicione a diretiva ao .htaccess da raiz para forçar o novo limite:
    php_value max_input_vars 3000
  4. Reinicie o PHP se for FPM: em hospedagens com PHP-FPM, a mudança no php.ini só vale após reiniciar o serviço. Use o painel da hospedagem para reiniciar o PHP ou peça ao suporte.
  5. Salve de novo e confira: volte ao menu ou formulário que perdia dados, salve outra vez e confirme que todos os itens permanecem. Se ainda cortar, suba o valor mais um pouco ou divida o conteúdo em partes.
INI
; php.ini — eleva o numero maximo de variaveis de entrada por requisicao
; Padrao tipico = 1000; 3000 cobre menus extensos e formularios grandes
max_input_vars = 3000

; Sobe junto o limite de variaveis aninhadas, usado por campos em array
max_input_nesting_level = 128

Perguntas frequentes

Por que meu menu do WordPress perde itens ao salvar?
Quase sempre é o max_input_vars baixo. Um menu grande envia mais variáveis do que o teto de 1000 do PHP, e o servidor descarta os campos excedentes sem erro. O WordPress salva só o que recebeu. Subir o max_input_vars para 3000 resolve.
Qual valor de max input vars é seguro no WordPress?
3000 atende menus extensos, painéis de tema e formulários grandes na maioria dos sites. Sites WooCommerce com muitas variações podem precisar de mais. Evite valores excessivos, pois cada requisição passa a consumir mais memória do servidor.
Aumentei o max input vars mas nada mudou. Por quê?
Em PHP-FPM, a alteração no php.ini só vale após reiniciar o PHP. Alguns hosts também ignoram seu php.ini e impõem o limite no servidor. Tente o .htaccess; se ainda cortar, confirme o valor na Saúde do Site e acione o suporte da hospedagem.
Qual a diferença entre max_input_vars e post_max_size?
O max_input_vars limita a quantidade de variáveis de entrada por requisição; o post_max_size limita o tamanho total em bytes do POST. Um menu enorme pode bater no max_input_vars sem chegar perto do post_max_size, por isso ajustar o primeiro é o que resolve aqui.
Esse limite gera mensagem de erro?
Em geral não há erro fatal: o PHP só descarta as variáveis a mais e segue. No debug.log pode surgir o aviso de que as variáveis de entrada excederam o limite. Por ser silencioso na tela, o sintoma costuma ser dados que somem ao salvar.
Como vejo o valor atual sem editar arquivos?
No wp-admin, abra Ferramentas, Saúde do Site, Informações e expanda a seção Servidor. O valor de max_input_vars aparece ali, mostrando de quanto você parte antes de decidir o novo limite no php.ini ou no .htaccess.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes