php теряет форму параметров POST

У меня есть форма, которая отправляет данные методом POST, около 3000 ключей массива, которые нужно вставить в MySQL следующим образом:

client_add[]=1
client_add[]=3
client_add[]=47
...

Проблема в том, что на моем локальном хосте сервер разработки работает нормально. На производстве я получаю только около 1000 строк, на localhot кажется, что он теряется, мы столкнулись с файлами php.ini, и на сервере разработки все настроено на больше памяти, чем мой локальный хост.

У меня закончились идеи.


person max4ever    schedule 04.04.2011    source источник
comment
Публикация такого количества значений кажется ужасной идеей...   -  person rockerest    schedule 04.04.2011
comment
ну, это большая таблица, и если пользователь проверяет все 3000 строк одновременно, я не могу придумать другого способа, поскольку они являются идентификаторами строк и не обязательно являются инкрементными.   -  person max4ever    schedule 05.04.2011


Ответы (2)


В PHP есть параметр ini, который определяет размер вашего POST-запроса, вы, вероятно, можете найти его в своем ini под именем post_max_size.

Кроме того, если у вас установлен патч Suhosin, он наложит ограничение на количество Переменные POST, которые вы можете отправлять при каждом запросе. Я думаю, что это около 2000 по умолчанию.

person JamesHalsall    schedule 04.04.2011
comment
Хороший улов, я не знал, что Сухосин ограничивал это. - person Matt Gibson; 03.08.2011

Размер тела сообщения будет где-то около 50 КБ, что нормально, если сервер и/или PHP не применяют ограничение. Похоже, что ваша производственная среда налагает такое ограничение. Вы должны проверить всю конфигурацию веб-сервера и, если она также идентична, сравнить значения по умолчанию во время компиляции. Возможно, вызов phpinfo() показывает больше фактических ограничений.

person mvds    schedule 04.04.2011