Максимальный размер URL-параметров в _GET

Я обращаюсь к серверу PHP с помощью REST: все данные передаются в GET-запросе в качестве параметров URL. Один из параметров поступает на сервер в query_string, но он не находится в глобальном _GET. Но сокращение параметра (обрезание, по-видимому, составляет около 512 символов) позволяет выполнить его.

Предполагая, что я правильно поставил диагноз, есть ли способ изменить этот максимальный размер? Я не нашел никаких объяснений в документации, даже не упоминая об этом лимите. Это относится к сжатию Debian/Apache 2.2.16/PHP 5.3.3.

Ответ 1

Хорошо, похоже, что некоторые версии PHP имеют ограничение длины параметров GET:

Обратите внимание, что установки PHP с установленным пакетом suhosin будут иметь ограничение по умолчанию - 512 символов для получения параметров. Хотя плохо практика, большинство браузеров (включая IE) поддерживает URL-адреса до примерно 2000 символов, в то время как Apache имеет значение по умолчанию 8000.

Чтобы добавить поддержку длинных параметров с помощью suhosin, добавьте suhosin.get.max_value_length = <limit> в php.ini

Источник: http://www.php.net/manual/en/reserved.variables.get.php#101469