phpMyAdmin и max_input_vars
Сегодня при редактировании данных в 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
- добавляем (или изменяем) вот так:
123max_input_vars = 100000; - перезагружаем сервер
Как поступать на боевом сервере решать Вам самим, но для локального сервера используемого только мной для разработки, мне важнее стабильная работа с phpMyAdmin нежели защита от аттак с использованием хэш-коллизий 🙂
Author: | Tags: /
| Rating:
10 comments.
Write a comment