Como Corrigir o Erro de Limite de PHP Max Input Vars no WordPress
O erro de limite PHP Max Input Vars é um dos mais comuns — mas frequentemente mal compreendidos — problemas do lado do servidor que administradores WordPress enfrentam. Ele trunca silenciosamente envios de formulários, quebra a funcionalidade de plugins e causa processamento incompleto de dados sem sempre lançar uma mensagem de erro óbvia. Se você tem lutado com configurações ausentes, dados de formulário corrompidos ou plugins WordPress se comportando mal, este guia o orientará através de tudo que você precisa saber: o que causa o erro, como diagnosticá-lo e exatamente como corrigi-lo usando múltiplos métodos comprovados.
O que é o Limite PHP Max Input Vars?
A diretiva max_input_vars é uma configuração PHP que controla o número máximo de variáveis de entrada que seu servidor aceitará em uma única solicitação. Isso se aplica aos três métodos de entrada:
- Solicitações GET (strings de consulta de URL)
- Solicitações POST (envios de formulário)
- Dados de COOKIE
O valor padrão é tipicamente 1000 variáveis por solicitação. Quando um envio de formulário — ou um plugin gerando campos dinâmicos — excede esse limite, PHP silenciosamente descarta todas as variáveis além do limite. O resultado é processamento incompleto de dados, páginas de configurações quebradas e comportamento impredizível de plugins.
Por que isso acontece especificamente no WordPress?
WordPress é uma plataforma altamente extensível. Construtores de página como Elementor ou WPBakery, plugins de e-commerce complexos como WooCommerce, sistemas de menu avançados e formulários de contato com múltiplos campos podem gerar centenas — às vezes milhares — de variáveis de entrada em um único envio. O limite padrão de 1000 simplesmente não é suficiente para instalações WordPress modernas e ricas em recursos.
> Sintomas comuns incluem: itens de menu WordPress desaparecendo após salvar, configurações de plugin não salvando corretamente, formulários grandes enviando dados incompletos e opções do personalizador de tema sendo perdidas.
Se você está executando WordPress em um plano de Hospedagem VPS, você normalmente tem acesso root completo para resolver isso no nível do servidor — a abordagem mais confiável. Em ambientes compartilhados, métodos alternativos cobertos abaixo se aplicarão.
Passo 1: Verifique seu Limite max_input_vars Atual
Antes de fazer qualquer alteração, confirme sua configuração PHP atual. A forma mais limpa de fazer isso é gerando um arquivo de saída phpinfo().
Crie um Arquivo de Informações PHP
- Abra um editor de texto simples (Notepad, VS Code, nano, etc.)
- Crie um novo arquivo e adicione o seguinte código:
<?php
phpinfo();
?>- Salve o arquivo como
info.php - Carregue-o no diretório raiz do seu servidor web (por exemplo,
/var/www/html/oupublic_html/)
Leia a Saída
Abra seu navegador e navegue para:
http://yourdomain.com/info.phpUse Ctrl+F para procurar por max_input_vars na página. Você verá duas colunas: o valor padrão compilado e o valor configurado localmente. Anote o que está configurado atualmente.
> ⚠️ Aviso de Segurança: Exclua info.php imediatamente após verificar. Este arquivo expõe detalhes sensíveis de configuração do servidor e nunca deve permanecer acessível publicamente em um servidor de produção.
Passo 2: Aumente o Limite max_input_vars
Existem três métodos primários para aumentar o limite max_input_vars, cada um adequado para diferentes níveis de acesso ao servidor. Escolha o método que corresponde ao seu ambiente de hospedagem.
Método 1: Edite o Arquivo php.ini (Recomendado para VPS e Servidores Dedicados)
Este é o método mais autoritário e confiável. Ele aplica a alteração no nível do mecanismo PHP, tornando-o a abordagem preferida para administradores com acesso ao nível do servidor.
Localize seu arquivo php.ini. Caminhos comuns incluem:
| Versão PHP | Apache | PHP-FPM |
|---|---|---|
| PHP 7.4 | /etc/php/7.4/apache2/php.ini | /etc/php/7.4/fpm/php.ini |
| PHP 8.1 | /etc/php/8.1/apache2/php.ini | /etc/php/8.1/fpm/php.ini |
| PHP 8.2 | /etc/php/8.2/apache2/php.ini | /etc/php/8.2/fpm/php.ini |
Não tem certeza de qual versão PHP você está executando? Execute isto em seu terminal:
php -vEdite o arquivo:
sudo nano /etc/php/8.1/apache2/php.iniProcure pela linha max_input_vars. Ela pode estar comentada com um ponto e vírgula:
; max_input_vars = 1000Descomente-a e atualize o valor:
max_input_vars = 3000Um valor de 3000 é adequado para a maioria das instalações WordPress. Para configurações muito complexas com menus grandes ou configurações extensas de WooCommerce, você pode considerar 5000.
Reinicie seu servidor web para aplicar as alterações:
Para Apache:
sudo systemctl restart apache2Para Nginx com PHP-FPM:
sudo systemctl restart php8.1-fpm
sudo systemctl restart nginxEste método está totalmente disponível em Servidores Dedicados e na maioria dos planos VPS não gerenciados, dando-lhe controle completo sobre seu ambiente PHP.
Método 2: Edite o Arquivo .htaccess (Para Hospedagem Compartilhada Apache)
Se você está em um ambiente de hospedagem compartilhada ou não tem acesso direto a php.ini, o arquivo .htaccess oferece uma alternativa prática — desde que seu host permita que diretivas PHP sejam substituídas no nível do diretório.
- Navegue até o diretório raiz de sua instalação WordPress (onde
wp-config.phpreside) - Abra ou crie o arquivo
.htaccess - Adicione a seguinte linha:
php_value max_input_vars 3000- Salve o arquivo
Importante: Este método funciona apenas em servidores Apache onde AllowOverride está habilitado. Ele não funcionará em Nginx. Se você receber um erro 500 Internal Server Error após salvar, seu host não permite esta diretiva — remova a linha e use o Método 3 em vez disso.
Se você está em um plano de Hospedagem Web Compartilhada, entre em contato com a equipe de suporte de seu provedor de hospedagem primeiro para confirmar se substituições de diretivas PHP são permitidas em .htaccess.
Método 3: Adicione uma Diretiva ao wp-config.php
Este método usa a função ini_set() do PHP diretamente no arquivo de configuração do WordPress. É uma solução amplamente usada para ambientes onde nem modificações php.ini nem .htaccess estão disponíveis.
- Abra o arquivo
wp-config.phpno diretório raiz do WordPress - Adicione a seguinte linha antes do comentário que diz
/* That's all, stop editing! Happy blogging. */:
@ini_set('max_input_vars', 3000);- Salve o arquivo
Limitações a estar ciente: Alguns provedores de hospedagem desabilitam ini_set() por razões de segurança, o que significa que este método pode falhar silenciosamente. Além disso, o operador de supressão de erro @ é usado aqui para evitar avisos se a função for restrita — mas também mascara falhas. Após aplicar esta alteração, sempre verifique se funcionou usando o método phpinfo() descrito no Passo 1.
Método 4: Use um Arquivo php.ini de Nível de Usuário ou .user.ini
Em muitos ambientes de hospedagem compartilhada executando PHP-FPM, você pode colocar um arquivo php.ini ou .user.ini personalizado no diretório raiz do seu site:
- Crie um novo arquivo chamado
.user.inino diretório raiz do WordPress - Adicione o seguinte conteúdo:
max_input_vars = 3000- Salve e carregue o arquivo
PHP-FPM verifica arquivos .user.ini periodicamente (geralmente a cada 5 minutos por padrão, controlado por user_ini.cache_ttl). As alterações podem não ter efeito imediatamente — aguarde alguns minutos antes de testar.
Passo 3: Verifique se as Alterações Tiveram Efeito
Após aplicar seu método escolhido, é crítico confirmar que o novo limite está realmente ativo.
- Navegue de volta para
http://yourdomain.com/info.phpem seu navegador (recarregue o arquivo se o deletou) - Procure por
max_input_vars - Confirme que a coluna Local Value agora mostra
3000(ou seu valor escolhido)
Se o valor não mudou, tente o seguinte:
- Para alterações php.ini: Certifique-se de que editou o arquivo
php.inicorreto para sua versão PHP e SAPI (Apache vs. FPM). Verifique se o servidor web foi totalmente reiniciado. - Para alterações .htaccess: Verifique se
AllowOverride Allestá definido na configuração do host virtual Apache. - Para alterações wp-config.php: Confirme que
ini_set()não está desabilitado em sua configuração PHP verificando a diretivadisable_functionsemphpinfo().
> 🔒 Lembre-se: Exclua info.php do seu servidor assim que confirmar as alterações. Deixá-lo acessível é um risco de segurança.
Configurações PHP Adicionais Que Valem a Pena Revisar
Enquanto você tem seu php.ini aberto, vale a pena auditar essas configurações relacionadas que comumente afetam o desempenho e estabilidade do WordPress:
| Diretiva | Valor Recomendado | Propósito |
|---|---|---|
max_input_vars | 3000–5000 | Limite de variável de entrada |
memory_limit | 256M | Memória PHP por script |
upload_max_filesize | 64M–128M | Tamanho máximo de upload de arquivo |
post_max_size | 128M | Tamanho máximo de dados POST |
max_execution_time | 120–300 | Tempo limite de script em segundos |
max_input_time | 120 | Tempo limite de análise de entrada |
Manter esses valores otimizados garante que seu site WordPress lide com operações complexas — importações grandes, uploads de mídia e páginas com muitos plugins — sem interrupção.
Se você está gerenciando múltiplos sites WordPress e quer uma interface simplificada para configuração PHP, considere um VPS com cPanel, que fornece um gerenciador de configuração PHP gráfico junto com controle total do servidor.
Escolhendo o Ambiente de Hospedagem Certo para WordPress
A facilidade com que você pode resolver problemas de configuração PHP como este está diretamente ligada ao seu ambiente de hospedagem. Aqui está um resumo rápido:
- Hospedagem Compartilhada: Controle PHP limitado; dependa de
.htaccess,.user.iniou tickets de suporte. Adequado para sites menores. - Hospedagem VPS: Acesso root completo; edite
php.inidiretamente e reinicie serviços. Ideal para sites WordPress em crescimento com ecossistemas complexos de plugins. - Servidores Dedicados: Controle máximo e recursos; sem contenção de recursos com outros usuários. Melhor para implantações WordPress de alto tráfego ou empresariais.
Para a maioria dos administradores WordPress sérios, atualizar para um plano de Hospedagem VPS é a forma mais eficaz de eliminar limitações de configuração do servidor e assumir a propriedade total do seu ambiente PHP.
Conclusão
O erro de limite PHP max_input_vars é um problema direto uma
em todos os serviços de alojamento