Main > PHP > phpMyAdmin и max_input_vars

phpMyAdmin и max_input_vars

06.08.2012 10 comments » Views: 15,007

phpMyAdmin

Сегодня при редактировании данных в phpMyAdmin получил такую ошибку: PHP Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0. Собствено в ошибке, говорится что кол-во входящих переменных превышает 1000. С такой ошибкой я столкнулся впервые и конечно не понимал что имеют ввиду..

Оказыается это директива позволяющая ограничить максимальное кол-во входных переменных. Вот как это описывается в PHP:Runtime Configuration

max_input_vars означает сколько входных переменных может быть принято в одном запросе. Использование этой директивы снижает вероятность сбоев в случае атак с использованием хеш-коллизий. Если входных переменных больше, чем задано директивой, выбрасывается предупреждение E_WARNING, и все последующие переменные в запросе игнорируются. Это ограничение применяется к каждому уровню вложенности входного многомерного массива.

Это конечно отличная вещица, но phpMyAdmin выкинул эту ошибку и смог сохранить только часть отредактированных мной данных. А это уже баг. Т.к. появилась эта директива начиная с версии PHP 5.3.9, то я с ней раньше и не сталкивался.

Теперь давайте расскажу, как поступить на локальном сервере, чтобы не было таких проблем:

  • открываем php.ini
  • добавляем (или изменяем) вот так:
  • перезагружаем сервер

Как поступать на боевом сервере решать Вам самим, но для локального сервера используемого только мной для разработки, мне важнее стабильная работа с phpMyAdmin нежели защита от аттак с использованием хэш-коллизий 🙂

Author: | Rating: 4/5 | Tags: ,

10 comments.

Write a comment
  1. Марат Reply
    10.09.2016 в 7:14 pm
    В Вашем php.ini вы найдете линию

    mysql.default_socket = /tmp/mysql.sock
    изменить его

    mysql.default_socket = /var/lib/mysql/mysql.sock
    После этого перезапустите Apache и он будет работать.
  2. вика Reply
    01.03.2015 в 12:35 pm
    Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0
    export.php: Отсутствующий параметр: whatДокументация

    такая ошибка при экспорте выходит. сдалал как у вас в статье написано...все равно выходит. помогите!!!
    • вика Reply
      01.03.2015 в 12:36 pm
      при экспорте базы из phpmyadmin
      • вика Reply
        01.03.2015 в 12:36 pm
        остальные базы нормально экспортируются
    • Vitaliy Orlov Reply
      01.03.2015 в 8:08 pm
      Привет, попробуй перезагрузить веб-сервер. Судя по ошибке, данные измененные в php.ini не вступили в силу.
  3. Евгений Reply
    11.07.2014 в 8:35 am
    Автор, спасибо!
    переехал на joomla 3.3 такая же ошибка была.
    прямо в isp manager хостинга перешел в корень, нашел php.ini добавил строку и заработало.
  4. Марк Reply
    22.05.2013 в 8:22 am
    Добрый день. Ваш ответ очень помог мне. Но на сервере, когда я перенес сайт wordpress на хостинг, все к стати прошло успешно, столкнулся с этой проблемой в очередной раз уже на сервере. Суть такова - добавляю в меню выпадающее подменю и нужно сделать его по кол-ву еще больше. На денвере помогло, а как на боевом сервере понять не могу, хостер еще советы совсем неохотно дает.
    • Vitaliy Orlov Reply
      22.05.2013 в 8:35 am
      Привет! Я немного не понял о каком меню речь. В любом случае выхода два: первый - это просить хостера увеличить этот параметр, на что, всего скорее, они не пойдут, однако попробовать стоит, т.к. может что-то посоветуют. Второй, это уменьшить кол-во переменных в запросе. Если меню вы пишите сами, значит надо пересмотреть код, чтобы уменьшить кол-во переменных в одном отправляемом запросе. Если это стандартный конструктор меню wordpress-а, значит что-то странное в вашей конфигурации. У меня без проблем добавляется большое кол-во вложенных меню. Возможно, как-то влияют установленные у вас плагины, попробуйте их отключить все, затем создать нужную структуру менюшек и после включить вновь. Обратите внимание, что плагины могут прописываться и в теме, так что, так же можно попробовать на время формирования меню сменить тему на стандартную. Дальше, методом исключений, найти где проблема.
  5. Nike Reply
    01.05.2013 в 10:22 am
    Спасибо большое. Только в этой статье я нашел имя файла, в котором надо изменить значение.
    PS
    Не многовато ли у Вас капч?
    • Vitaliy Orlov Reply
      05.05.2013 в 4:05 pm
      Каптча всего одна, плюс один селектбокс. Судя по отсутствию автоматического спама в комментариях - самое то.

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>