Максимальный размер параметров URL в _GET - PullRequest
42 голосов
/ 11 октября 2011

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

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

Ответы [ 2 ]

68 голосов
/ 11 октября 2011

Хорошо, похоже, что некоторые версии 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

0 голосов
/ 11 октября 2011

См. Какова максимальная длина URL в разных браузерах?

Длина URL не может быть изменена в PHP. Связанный вопрос касается ограничения размера URL, вы найдете то, что вы хотите.

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