PHP пост ограничен 1000 переменных - PullRequest
20 голосов
/ 29 февраля 2012

У меня есть большая форма, и я вижу из firebug, что все значения элементов отправляются правильно, но когда я печатаю __ ($ _ POST), отображаются только 1000 переменных. Мой max_post_size установлен на 25M, так что я знаю, что это не проблема, и я искал в своем php.ini ключевые слова, такие как «post» и «max», и ничего не нашел.

1000 - это только около 1/4 элементов, которые я передаю, так что, очевидно, это довольно большая проблема для меня, я действительно ценю любую помощь, которую могу получить.

Ответы [ 4 ]

35 голосов
/ 29 февраля 2012

Я вижу, что вы здесь сделали.

max_input_vars, 1000

Введено для предотвращения атаки хеш-коллизий: http://www.phpclasses.org/blog/post/171-PHP-Vulnerability-May-Halt-Millions-of-Servers.html Но не удалось в 5.3.9: http://www.phpclasses.org/blog/post/175-Another-Serious-Security-Bug-on-PHP-539.html Так что вам следуетобновите до 5.3.10+, если это проблема.

7 голосов
/ 13 декабря 2013

У меня была та же самая проблема предела переменной 1000 с использованием PHP v5.4.20. Несмотря на то, что файл php.ini не содержал такой строки 'max_input_vars', я просто нашел удобное место для его размещения в верхнем разделе [PHP], добавил строку 'max_input_vars = 10000', перезапустил Apache и все было решено .

6 голосов
/ 15 мая 2013

У меня была похожая ситуация;Я мог только POST первые 1000 элементов массива.

Мое решение было implode() массив в одну длинную строку и explode() это на стороне сервера.

json_encode()возможно, сработает.

0 голосов
/ 27 ноября 2017

Хорошо.Я разобрался с решением, используя jquery

Я сделал это такfile просто используйте функцию parse_str для разбора строки на переменные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...