Извините, если это дубликат, я думаю, что это будет, но ничего не смог найти.
У меня есть гибкое приложение, которое я отправляю данные обратно на сервер php / mysql через IE. Я еще не сталкивался с какими-либо проблемами, но знание этого заранее может спасти меня от разочарования и работы. Существует ли ограничение на размер размещения данных через http?
Эта статья говорит нет: http://www.netlobo.com/ie_form_submit.html
Это обсуждение говорит да: http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method
И все это говорит о том, что я могу найти в Интернете. Поэтому, пожалуйста, ограничьте ответы лично проверенными / проверенными номерами.
Я хочу отправить обратно строку XML, которая может быть довольно большой (скажем, до 5 МБ).
Если это имеет какое-либо значение: браузер всегда будет IE (наш продукт требует этого), отправка сообщения и httpService на flex, веб-сервер php, DB mySql.
источник
Ответы:
Это зависит от конфигурации сервера. Если вы работаете с PHP под Linux или подобным, вы можете управлять им с помощью файла конфигурации .htaccess, например так:
И, да, я могу лично подтвердить тот факт, что это работает :)
Если вы используете IIS, я понятия не имею, как вы установите это конкретное значение.
источник
post_max_size
параметр? Я довольно новичок в php и не могу найти его нигде в нашей кодовой базе (используя процесс поиска все для мечты). Я бы спросил наших системных администраторов, но они злые. :-PURL-часть запроса (GET и POST) может быть ограничена как браузером, так и сервером - обычно безопасный размер составляет 2 КБ, поскольку практически нет браузеров или серверов, которые используют меньший лимит.
Тело запроса (POST) обычно * ограничено сервером на основе размера байта, чтобы предотвратить тип атаки DoS (обратите внимание, что это означает, что экранирование символов может увеличить размер байта тела). Наиболее распространенная настройка сервера - 10 МБ, хотя все популярные серверы позволяют увеличивать или уменьшать ее с помощью файла настроек или панели.
* Существуют некоторые исключения для старых мобильных телефонов или других небольших браузеров устройств - в этих случаях это скорее функция кучи, зарезервированной для этой цели на устройстве, чем что-либо еще.
источник
curl
Также в файле PHP.INI есть настройка:
который в моей версии PHP: 5.4.16 по умолчанию 1000.
Из руководства: «Сколько входных переменных может быть принято (ограничение применяется к суперглобальным $ _GET, $ _POST и $ _COOKIE отдельно)»
Ссылка: http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars
источник
Вы можете опубликовать большой объем данных, установив переменную php.ini:
max_input_vars
размер этой переменной по умолчанию равен 1000, но если вы хотите отправить большой объем данных, вы должны соответственно увеличить размер. Если вы не можете установить размер из ini_set, вы должны сделать это с помощьюhtaccess
или внести изменения в файл php.ini напрямую.источник
Как отметил Дэвид, я бы пошел с KB в большинстве случаев.
Примечание: моя форма проста, всего несколько текстовых полей, а не длинный текст.
источник
По умолчанию максимальный размер почтового запроса составляет 8 МБ. Но вы можете изменить его в соответствии с вашими требованиями. Изменение можно сделать, открыв файл php.ini (настройка конфигурации php).
найти
заменить 8 в соответствии с вашими требованиями.
источник
Сервер http решает, есть ли ограничение. Продукт, над которым я работаю, позволяет администратору настроить ограничение.
источник
Одно из лучших решений для этого - не использовать несколько или более 1000 полей ввода. Вы можете объединить несколько входов с любым специальным символом, например.
@
,Посмотри это:
Используя любой скрипт (JavaScript или JScript),
С этим вы обойдете
max_input_vars
проблему. Если вы увеличитеmax_input_vars
размер файла php.ini, это будет вредно для сервера, поскольку он использует больше кэш-памяти сервера, что иногда может привести к сбою сервера.источник
max_input_vars
опцию вphp.ini
с этим. Не совсем то, о чем спрашивали, но все же полезно.Для разработчиков, которые не могут изменить конфигурацию php из-за веб-хостинга. (Мои настройки максимальный размер 256 МБ, 1000 переменных)
У меня возникла та же проблема, что только 2 из 5 больших объектов данных (ассоциативных массивов) с подструктурами были получены на стороне сервера.
Я обнаружил, что вся подструктура "сплющена" в почтовом запросе. Итак, один объект становится сотнями литеральных переменных. В конце концов, вместо 5 переменных объекта в действительности он отправляет десятки сотен элементарных переменных.
Решением в этом случае является сериализация каждой из подструктур в String. Тогда это получено на сервере как 5 Строковых переменных. Пример:
{variable1:JSON.stringify(myDataObject1),variable2:JSON.stringify(myDataObject2)...}
источник