Frage

PHP 4.4 und PHP 5.2.3 unter Apache 2.2.4 auf Ubuntu.

Ich bin mit Moodle 1.5.3 und haben vor kurzem hatte ein Problem, wenn ein Kurs zu aktualisieren. Der $ _POST Variable ist leer, aber nur dann, wenn eine Menge von Text in das Textfeld auf dem Formular eingetragen. Wenn nur ein kurzer Text eingegeben wird, es funktioniert gut.

Ich habe die post_max_size von 8M 200M erhöht und erhöht die memory_limit auf 256M aber das hat nicht geholfen. Ich habe die Limitrequestfieldsize und Limitrequestline bis 16380 und setze auf 0 Limitrequestbody ohne Verbesserung verdoppelt.

Ich habe eine Antwort gegoogelt aber nicht gelungen, einen zu finden.

HTTP-Header auf Firefox zeigen den Inhalt Größe von 3816 mit den richtigen Daten, so dass sie einfach nicht zu _POST $ zu bekommen.

Das System lief gut, bis vor ein paar Wochen. Die einzige Änderung war in / etc / hosts ein HELO Problem mit dem exim4 E-Mail-Server zu korrigieren.

Ich kann das Problem auf einer Entwicklungsmaschine replizieren, die exim4 nicht ausgeführt hat, so denke ich, es nur ein Zufall ist.

Vielen Dank für Ihre Unterstützung.

War es hilfreich?

Lösung

Könnte es nicht die Größe der Post bezogen sein, aber wie lange ist die Linie, bevor eine neue Zeile. Wenn sie die Moodle WYSIWYG würde der HTML-Ansicht verwenden Sie einfach erhalten in einer Zeile ohne Pausen setzen. Wenn Sie in HTML hin und zurück schlagen um alle 1000 Zeichen funktioniert es?

Andere Tipps

Ich weiß nicht genug wirklich eine nützliche Antwort zu geben, so dass die folgenden, eine gut ausgebildete Vermutung ist (zumindest hoffe ich).

Als erstes sollten Sie die gesamte Meldung debuggen, entweder durch access_log oder zum Beispiel durch firebug . (Good sowieso Firebug haben.) Für mich Ihr Problem Sounds wie eine Umleitung zwischen geschieht in. Ich gebe Ihnen ein Beispiel:

Angenommen, dies ist Ihre Struktur:

/form.php
/directory/index.php

Das ist Ihre Form:

<form action="/directory" method="post">
...
</form>

Problem in diesem Fall ist, dass, obwohl /directory eine gültige URL ist, wird Apache Sie noch umzuleiten, um /directory/ so verlierst du deine Nutzlast (was in $_POST sein soll).

Was ist der enctype der Form? Könnte sein, dass es die ammount von Daten durch die Form begrenzt senden.

Sie können auch die eingehenden rohen $ _POST Daten überprüfen möchten mit:

file_get_contents('php://input');

Um sicherzustellen, ihre tatsächlich Daten senden ist. Haben Sie diese Vorschläge hier .

Es klingt wie ein Apache oder Apache / PHP Integrationsproblem. Wenn $ _POST leer ist, würde es andeuten, dass der HTTP-Server nicht die POST-Informationen zu PHP zu geben. Wenn ich Sie wäre, würde ich die Apache-Konfiguration untersuchen.

Dies ist offensichtlich, aber hast du /etc/init.d/apache2 neu starten?

Auch sollte die Datei error_log einige Informationen über sich zeigen, ob die Post Größe den eingestellten Grenzwert überschritten. Betrachten Sie die Steigerung Ihrer Ausführlichkeit zur Fehlerbehebung das Problem

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top