Предупреждение PHP: неизвестно: входные переменные превысили 1000

Я получаю новое предупреждение php, когда данные POST из формы на моей странице на мой сервер. Предупреждение следующее:

PHP Предупреждение: Неизвестно: входные переменные превысили 1000. Чтобы увеличить изменение предела max_input_vars в php.ini. в Unknown в строке 0, референт: https://mywebsite.com/index.php

Дело в том, что моя форма не имеет около 1000 входных переменных, поэтому я сбив с толку, почему это происходит. В качестве побочного примечания у меня не было этой проблемы до недавнего времени, и я подозреваю, что когда я запустил yum update что-то изменилось / было установлено, что вызывает это. Любые советы или ответы приветствуются.

EDIT 1: Итак, я сделал var_dump($_REQUEST) и получил ~ 1000 одиночных символов. Первые пара элементов в массиве – это то, чем они должны быть, но тогда куча вещей, которые мне не нужны, разбивается на строки с одним символом. Мысли приветствуются.

 array(1001) { ["action"]=> string(10) "step1_show" ["submit"]=> string(6) "Step 1" [0]=> string(1) "a" [1]=> string(1) "c" [2]=> string(1) "t" [3]=> string(1) "i" [4]=> string(1) "o" [5]=> string(1) "n" [6]=> string(1) "=" [7]=> string(1) "l" [8]=> string(1) "o" [9]=> string(1) "g" [10]=> string(1) "o" [11]=> string(1) "u" [12]=> string(1) "t" [13]=> string(1) "&" [14]=> string(1) "p" [15]=> string(1) "r" [16]=> string(1) "o" [17]=> string(1) "p" [18]=> string(1) "e" [19]=> string(1) "r" [20]=> string(1) "t" [21]=> string(1) "y" [22]=> string(1) "=" [23]=> string(1) "3" [24]=> string(1) "7" [25]=> ..... 

ОТВЕТ : В конечном итоге это проблема с моим обработчиком. Спасибо всем за ваш вклад.

Это новая настройка / значение в PHP (связанное с обновлением безопасности для предотвращения атак на PHP-скрипты), поэтому вы получите это после обновления (до того, как PHP 5.3.9 не будет установлен / недоступен, пользователи сухозина имеют аналогичную вещь с возрастов).

Входные значения имеют разные типы, и члены массива также учитываются. Поэтому недостаточно подсчета полей полей, а также посмотреть URL-адрес и другие места, связанные с вводом ( $_GET , $_POST , $_SERVER , $_ENV , $_FILES , $_COOKIE …).

См. max_input_vars :

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

Я исправил проблему max_input_vars через панель администрирования веб-хоста (Littleoak). Я изменил max_input_vars = 0 на max_input_vars = 6000 . На моем сервере установлено несколько установок php, настроенных компанией сервера. Я считаю, что max_input_vars = 0 заключается в том, чтобы запретить спам-спам электронной почты использовать сервер для отправки спама. Файл php.ini живет где-то, не знаю, где, но я смог изменить его с помощью cPanel на моем сайте admin.

У меня была такая же проблема при использовании .ajaxSubmit ()

При сериализации формы используйте .serializeObject () вместо .serialize ()

Вы можете захватить библиотеку здесь