Переменная запроса не может быть длиннее 512 символов - PullRequest
1 голос
/ 09 ноября 2010

Я пытаюсь прочитать переменные запроса, которые содержат более 512 символов в массиве $_GET.Однако, если я проанализирую строку запроса, используя parse_string, я смогу прочитать ее из полученного массива очень хорошо.

Пример:

# GET /test.php?foo=<string with 513 characters>&bar=bar HTTP/1.1

<?php
var_dump($_GET['foo']); # NULL
var_dump($_GET['bar']); # "bar"

parse_str($_SERVER['QUERY_STRING'], $output);
var_dump($output['foo']); # <string with 513 characters>
?>

Это не имеет смысла для меня, поскольку $_GET использует parse_str для извлечения переменных запроса из строки запроса.Я что-то упустил?

1 Ответ

3 голосов
/ 09 ноября 2010

Есть отчет об ошибках PHP. # 50449

GET параметры со значением более 512 символов не отображаются в массивы $ _GET и $ _REQUEST. Мы заметили это с момента обновления до 5.3.1

Там написано, что именно Сухосин вызывает поведение.

...