Переменные массива PHP $ _POST усекаются
Я использую PHP 5.3.8 с Apache 2.0. Я также использую Symfony 2, но этоне там, где скрипт не работает. У меня есть форма с переменными массива:
Прямо в файле app_dev.php (чтобы исключить Symfony из проблемы) я делаю:
echo file_get_contents("php://input"); // outputs: po%5Bname%5D=Developer&po%5Brole%5D=ROLE_USER
var_dump($_POST); // outputs: array(1) { ["po"]=> array(1) { ["name"]=> string(9) "Developer" } }
die();
По сути, он сохраняет только первую переменную в массиве. Если я изменю имя переменной с po [role] на ba [role], то $ _POST выводит:
array(1) {
["po"]=> array(1) { ["name"]=> string(9) "Developer" },
["ba"]=> array(1) { ["role"]=> string(9) "ROLE_USER" }
}
Типичные проблемы, которые я обнаружил, которые могут вызвать эту проблему, связаны со следующей конфигурацией php.ini, я также даю вам мои значения:
max_execution_time = 30
max_input_time = 60
max_input_nesting_level = 64
max_input_vars = 1000
post_max_size = 8M
upload_max_filesize = 2M
memory_limit = 128M
Эти значения кажутся разумными, и я думаю, что нене вызывает проблемы, но не может быть уверен на 100%.
не установлено suhosin Насколько я'прочитал, что это может вызвать аналогичные проблемы тоже.
Это также похоже наЭта проблема но данное решение потребовало бы от меня переписать компонент HttpFoundation Symfony.
Также я неЯ хочу переписать переменную формы без и массив (например po [name] to po_name), поскольку форма автоматически генерируется Symfony, и это, кажется, базовая функция, с которой должен справиться PHP.
Кто-нибудь имеет представление об этой проблеме?
PS: это похоже на проблему, описанную вВот, Плюс проблема возникает в той же версии Suse (SUSE Linux Enterprise Server 11).