Entschuldigung, wenn dies ein Duplikat ist, würde ich denken, es wäre, aber ich konnte nichts finden.
Ich habe eine Flex-Anwendung, die Daten über den IE an einen PHP / MySQL-Server zurücksendet. Ich habe noch keine Probleme, aber wenn ich das vorher weiß, kann ich mir eine Menge Frustration und Arbeit ersparen. Gibt es eine Größenbeschränkung für das Posten von Daten über http?
Dieser Artikel sagt nein: http://www.netlobo.com/ie_form_submit.html
Diese Diskussion sagt ja: http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method
Und alles geht hin und her, was ich online finden kann. Also bitte Limit Antworten auf persönlich getestet / überprüft Zahlen.
Ich möchte eine XML-Zeichenfolge zurückschicken, die sehr groß sein kann (z. B. bis zu 5 MB).
Wenn es einen Unterschied macht: Browser ist immer IE (unser Produkt erfordert es), Post kommt von und httpService in Flex, Webserver ist PHP, DB ist MySQL.
quelle
Antworten:
Dies hängt von einer Serverkonfiguration ab. Wenn Sie mit PHP unter Linux oder ähnlichem arbeiten, können Sie es mithilfe der .htaccess-Konfigurationsdatei wie folgt steuern:
Und ja, ich kann persönlich bestätigen, dass dies funktioniert :)
Wenn Sie IIS verwenden, habe ich keine Ahnung, wie Sie diesen bestimmten Wert festlegen würden.
quelle
post_max_size
Einstellung? Ich bin ziemlich neu in PHP und kann es nirgendwo in unserer Codebasis finden (mit dem DreamWeaver-Find-All-Prozess). Ich würde unsere Systemadministratoren fragen, aber sie sind gemein. :-PDer URL-Teil einer Anforderung (GET und POST) kann sowohl vom Browser als auch vom Server begrenzt werden. Im Allgemeinen beträgt die sichere Größe 2 KB, da es fast keine Browser oder Server gibt, die ein kleineres Limit verwenden.
Der Hauptteil einer Anforderung (POST) wird normalerweise * vom Server auf Byte-Basis begrenzt, um eine Art von DoS-Angriff zu verhindern (beachten Sie, dass das Entkommen von Zeichen die Byte-Größe des Hauptteils erhöhen kann). Die häufigste Servereinstellung ist 10 MB, obwohl alle gängigen Server dies über eine Einstellungsdatei oder ein Bedienfeld erhöhen oder verringern können.
* Bei älteren Mobiltelefonen oder anderen Browsern kleiner Geräte gibt es einige Ausnahmen. In diesen Fällen ist dies eher eine Funktion des für diesen Zweck reservierten Heap-Speicherplatzes auf dem Gerät als irgendetwas anderes.
quelle
curl
Außerdem gibt es in der PHP.INI-Datei eine Einstellung:
was in meiner Version von PHP: 5.4.16 standardmäßig 1000 ist.
Aus dem Handbuch: "Wie viele Eingabevariablen können akzeptiert werden (Limit wird separat auf $ _GET, $ _POST und $ _COOKIE Superglobal angewendet)"
Ref.: Http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars
quelle
Sie können große Datenmengen veröffentlichen, indem Sie die Variable php.ini festlegen: Die
max_input_vars
Standardgröße dieser Variablen ist 1000. Wenn Sie jedoch große Datenmengen senden möchten, müssen Sie die Größe entsprechend erhöhen. Wenn Sie die Größe nicht über ini_set festlegen können, müssen Sie dies durchhtaccess
oder durch direkte Änderungen an der Datei php.ini tun.quelle
Wie David betonte, würde ich in den meisten Fällen mit KB gehen.
Hinweis: Mein Formular ist einfach, nur ein paar Textfelder, kein Langtext.
quelle
Standardmäßig hat die Post-Anfrage eine maximale Größe von 8 MB. Sie können es jedoch an Ihre Anforderungen anpassen. Die Änderung kann durch Öffnen der Datei php.ini (PHP-Konfigurationseinstellung) erfolgen.
Finden
Ersetzen Sie 8 gemäß Ihren Anforderungen.
quelle
Es ist Sache des http-Servers, zu entscheiden, ob es ein Limit gibt. Mit dem Produkt, an dem ich arbeite, kann der Administrator das Limit konfigurieren.
quelle
Als eine der besten Lösungen dafür verwenden Sie nicht mehrere oder mehr als 1.000 Eingabefelder. Sie können beispielsweise mehrere Eingaben mit einem beliebigen Sonderzeichen verknüpfen.
@
.Sieh dir das an:
Verwenden eines beliebigen Skripts (JavaScript oder JScript),
Damit umgehen Sie das
max_input_vars
Problem. Wenn Siemax_input_vars
die Datei php.ini vergrößern , ist dies für den Server schädlich, da mehr Server-Cache-Speicher verwendet wird. Dies kann manchmal zum Absturz des Servers führen.quelle
max_input_vars
Option in diesemphp.ini
mit umgehen . Nicht genau, was gefragt wurde, aber immer noch nützlich.Für Entwickler, die die PHP-Konfiguration aufgrund des Webhosting nicht ändern können. (Meine Einstellungen 256 MB maximale Größe, 1000 maximale Variablen)
Ich habe das gleiche Problem, dass nur 2 von 5 Big-Data-Objekten (assoziative Arrays) mit Unterstrukturen auf der Serverseite empfangen wurden.
Ich finde heraus, dass die gesamte Unterstruktur in der Post-Anfrage "abgeflacht" wird. Ein Objekt wird also zu Hunderten von Literalvariablen. Am Ende werden anstelle von 5 Objektvariablen in Wirklichkeit Dutzende von Hunderten elementaren Variablen gesendet.
In diesem Fall besteht die Lösung darin, jede der Unterstrukturen in String zu serialisieren . Dann wird es auf dem Server als 5 String Variablen empfangen. Beispiel:
{variable1:JSON.stringify(myDataObject1),variable2:JSON.stringify(myDataObject2)...}
quelle