У меня проблема с отправкой скрытого поля ввода, содержащего более 1333 символов. Если строка содержит более 1333 символов, то, когда я пытаюсь отправить форму через POST, страница истекает. Есть ли какая-нибудь настройка, которую я должен изменить?
Я использую Symfony2, я не знаю, связано ли что-то с этим? Как ни странно, он работает на моем веб-сервере, но не на моем локальном компьютере.
Вот форма:
<form action="{{ path('osc_dashboard_playerEvaluation_evaluationSession_evaluate', {"evaluationSessionId" : evaluationSession.id}) }}" {{ form_enctype(form) }} method="POST" class=""> <table class="table table-hover table-bordered"> <thead> <!-- This will be generated with Twig so it is normal that is does not correspond to the data below --> <tr> <th style="width:50px;">Nom</th> {% for test in tests %} <th colspan="{{ test[1] }}" style="text-align:center;">{{ test[0] }}</th> {% endfor %} </tr> <tr> <th></th> {% for test in tests %} {% for testNumber in 1..test[1] %} <th style="width:30px;text-align: center;">{{ testNumber }}</th> {% endfor %} {% endfor %} </tr> </thead> <tbody data-bind="foreach: playersEvaluation()"> <tr data-bind=""> <td data-bind="text: $data.playerName"></td> <!-- ko foreach: evaluatedExercises --> <!-- ko foreach:tries --> <td style="width:30px;text-align:center;"> <input type="text" data-bind="value: result" style="text-align:center;width:30px;" /> </td> <!-- /ko --> <!-- /ko --> </tr> </tbody> </table> <input type="hidden" id="results" name="results" data-bind="value: exportToJSON() " /> <input type="hidden" name="resultsJSON" id="resultsJSON" value="{{ resultsJSON }}" /> <br /> {{ form_widget(form) }} <button class="btn btn-success">Sauvegarder</button> <a class="btn" href="{{ path('osc_dashboard_playerEvaluation_evaluationSession') }}">Annuler les modifications</a> </form>
Кроме того, оба сервера имеют одинаковые файлы, поскольку все они берут свои данные из репозитория git.
Вот моя локальная конфигурация:
Symfony2 version: 2.2.3 MAC OSX 10.8.4 MAMP Pro PHP version: 5.4.4
Вот моя конфигурация сервера:
Symfony2 version: 2.2.3 Ubuntu 12.04 PHP version: PHP 5.4.15-1~precise+1
Вот что я пытался сделать, чтобы понять, почему данные не отправляются на моем локальном компьютере.
Я удалил Symfony2 dev.log, нажал кнопку, чтобы отправить форму, получил ошибку таймаута и, к сожалению, журнал по-прежнему пуст ….
Я установил post_max_size = 500M
Я установил LimitBodyRequest 0
Вы можете увидеть мою страницу phpinfo здесь: http://jsfiddle.net/etiennenoel/VZfeQ/
Я действительно не знаю, почему эти данные не получат …
Я обнаружил, что эта проблема возникла далеко от этого вопроса: https://stackoverflow.com/questions/17601461/sending-a-form-containing-a-serialized-json-object-causes-a-timeout
Обновление 2
Я изменил время выполнения, и через 4 минуты я получил ошибку Symfony: http://jsfiddle.net/etiennenoel/Em4Fp/
Вероятно, это связано с тем, что:
значение post_max_size в конфигурации php (измеряется в байтах с необязательными суффиксами K, M и G)
или
директива LimitRequestBody apache (измеренная в байтах).