Estou recebendo uma max_input_vars
mensagem de erro.
Eu entendo que há uma php.ini
configuração que pode mudar isso a partir da versão 5.3.9, no entanto, estou executando a versão 5.1.6.
Quando vejo as informações de configuração do meu servidor 5.1.6, mostra que o max_input_vars
valor é 1000.
Minha pergunta é: Embora eu esteja executando o 5.1.6, vejo essa configuração, phpinfo()
mas ela não está no php.ini
arquivo. Isso significa que o valor está codificado nesta versão do PHP e não pode ser alterado?
max_input_vars
no código-fonte do PHP 5.1.6, então não tenho certeza de como você está vendo isso na saída de phpinfo (). Pelo que eu sei, ele não existia antes de 5.3.9 ...5.1.6 -> 5.3.3
e depois de voltar para5.1.6
. Me jogou porque essa opção não existe no5.1.6
php.ini
arquivo. Eu adicionei a linha, aumentei o número e meu erro / problema foi embora.Respostas:
Você pode adicioná-lo ao php.ini e deve funcionar - apenas testei no PHP 5.3.6.
fonte
Referência em PHP net:
http://php.net/manual/en/info.configuration.php#ini.max-input-vars
Observe, você não pode definir esta diretiva em tempo de execução com função
ini_set(name, newValue)
, por exemploini_set('max_input_vars', 3000);
Isso não vai funcionar.
Conforme explicado na documentação, esta diretiva só pode ser definida por escopo de diretório, o que significa via arquivo .htaccess, httpd.conf ou .user.ini (desde o PHP 5.3).
Veja http://php.net/manual/en/configuration.changes.modes.php
Adicionar a diretiva em php.ini ou colocar as seguintes linhas em .htaccess funcionará:
php_value max_input_vars 3000 php_value suhosin.get.max_vars 3000 php_value suhosin.post.max_vars 3000 php_value suhosin.request.max_vars 3000
fonte
max_input_vars = 3000
(+ sinal de igual).Acabei de tentar essa correção com 5.3.3 e não há nenhuma mudança. Procurando no Google encontrei esta página da web http://anothersysadmin.wordpress.com/2012/02/16/php-5-3-max_input_vars-and-big-forms/ detalhando outras configurações que precisam ser alteradas se o seu servidor usar o patch Suhosin que o Apache no Debian faz.
O site explica:
Eu testei (adicionei configurações ao php.ini em / etc / php5 / apache2 e / etc / php5 / cli, e reiniciei o Apache com sucesso), mas ainda nenhuma variável max_input_vars no phpinfo.
Alguns sites apontam para o PHP 5.3.9 como a primeira versão do PHP na qual essa mudança ocorrerá, então minha culpa por não ter RTM corretamente em primeiro lugar, embora eu esteja interessado em ver pessoas relatando que ele está funcionando na versão acima de 5.3.3 mas abaixo de 5.3.9.
fonte
Você precisa descomentar o valor max_input_vars no arquivo php.ini e aumentá-lo (exp. 2000), também não se esqueça de reiniciar o servidor, isso ajudará em 99,99%.
fonte
sudo service apache2 restart
. Eu preciso reiniciar o Ubuntu?;
e alterei o valor para 3000. O problema provavelmente era o cache do navegador. Fechou o PHPMyAdmin e abriu em uma nova guia e agora funciona. Obrigado!É 2018 agora. E fiquei preso neste problema quando devo enviar uma solicitação que excede o
max_input_vars
. E eu vim com uma solução que newie como eu esqueceu de reiniciar o serviço php fpm depois de alterar omax_input_vars
parâmetro. porque eu só tentei reiniciar oapache2
serviço, mas não php fpm/etc/php/7.0/fpm/php.ini
e defina o número como desejarmax_input_vars = 4000
sudo service php7.0-fpm restart
Espero que ajude
Testado em
Debian Stretch
,php7.0
fonte
O uso desta diretiva reduz a possibilidade de ataques de negação de serviço que usam colisões de hash. Se houver mais variáveis de entrada do que as especificadas por esta diretiva, um E_WARNING é emitido e outras variáveis de entrada são truncadas da solicitação.
Posso sugerir não estender o valor padrão que é 1000 e estender a funcionalidade do aplicativo serializando a solicitação ou enviando a solicitação por blocos. Caso contrário, você pode estender isso para a configuração necessária.
Ele definitivamente precisa ser configurado no php.ini
fonte
Observe que você deve colocar isso no arquivo ".user.ini" no Centos7 ao invés de "php.ini" que costumava funcionar no Centos6. Você pode colocar ".user.ini" em qualquer subdiretório para afetar apenas esse diretório.
.user.ini:
max_input_vars = 3000
Testado em Centos7 e PHP 5.6.33.
fonte
php_value max_input_vars 6000
"Coloque esta linha no arquivo .htaccess do seu site."
fonte
Novo bloco Cpanels para ver o arquivo .htaccess ou se você adicionar um .user.ini você não será capaz de vê-lo. mas com um pequeno hack você pode fazer funcionar. Edite por exemplo wp-config.php e na barra de URL substitua wp-config.php por .htaccess agora você pode colar os valores e salvá-los. insira a descrição da imagem aqui
fonte
Apenas tive o mesmo problema ao adicionar itens de menu ao Wordpress. Estou usando o Wordpress 4.9.9 no Ubuntu 18.04, PHP 7.0. Eu simplesmente descomentei a seguinte linha e a aumentei para 1.500 em
/etc/php/7.0/apache2/php.ini
; How many GET/POST/COOKIE input variables may be accepted<br> max_input_vars = 1500
Em seguida, usei o seguinte para efetuar a mudança:
sudo apache2ctl configtest #(if it does not return ok Apache will not start) sudo service apache2 reload
Espero que ajude.
fonte
"Mensagem do PHP: PHP Warning: Unknown: Input variables ultrapassou 1000. Para aumentar o limite, mude max_input_vars em php.ini.
Este parâmetro de configuração php max_input_vars afetará não apenas seus parâmetros GET / POST / COOKIES, mas também controla qualquer entrada de formulário.
Para definir ou alterar seu valor, siga as etapas abaixo.
1) verifique a configuração / valor existente visualizando-o em seu arquivo php.ini. Localize o arquivo php.ini usando
<?php echo getinfo(); ?>
encontre a chave abaixo: Arquivo de configuração carregado: /etc/php/5.6/fpm/php.ini
2) Abra o arquivo php.ini em modo editável e pesquise max_input_vars. Esta linha pode ser comentada em sua configuração padrão existente com o valor padrão de 1000, então remova; para descomentar e editá-lo com seu valor adequado, por exemplo, 2500.
3) Salve o arquivo e reinicie os serviços de PHP usando abaixo
sudo service php5.6-fpm restart
Da mesma forma, você pode atualizar qualquer outra configuração PHP semelhante para sua facilidade.
fonte
Só para complementar. Em um servidor compartilhado usando mod_suphp, eu estava tendo o mesmo problema.
Declarar 4 max_input_vars (suhosin incluído), não resolveu, apenas continuou truncando em 1000 vars (padrão), e declarando "php_value max_input_vars 6000" em .htaccess gerou erro 500.
O que resolveu foi adicionar o seguinte em .htaccess, que aplica o arquivo php.ini recursivamente a esse caminho
fonte
Sim, adicione-o ao php.ini, reinicie o apache e deve funcionar.
Você pode testá-lo na hora se quiser com
ini_set("max_input_vars",100)
fonte