PHP/Apache/AJAX-POST-Limit
Beim Versuch, POST-Daten mit mehr als 2 Millionen Zeichen über AJAX in jQuery zu senden, kann es zu einer Fehlermeldung kommen Problem, bei dem die Daten auf der PHP-Seite leer empfangen werden. Dies ist häufig auf Einschränkungen in verschiedenen Komponenten des Systems zurückzuführen.
Apache
Apache verfügt über einen Parameter namens LimitRequestBody, der standardmäßig auf etwa 2 GB eingestellt ist. Wenn die POST-Größe diesen Grenzwert überschreitet, lehnt Apache die Anfrage ab und es werden keine Daten auf der PHP-Seite empfangen. Überprüfen Sie Ihre Apache-Fehlerprotokolle auf genauere Details.
PHP
PHP verfügt über mehrere Parameter, die sich auf die POST-Datenverarbeitung auswirken können:
- post_max_size : Dies bestimmt direkt die maximale Größe der POST-Daten, die PHP akzeptieren kann. Stellen Sie diesen Wert auf einen angemessenen Wert ein und stellen Sie sicher, dass er größer ist als die Daten, die Sie veröffentlichen möchten.
- upload_max_filesize: Auch wenn möglicherweise kein Zusammenhang besteht, haben einige Benutzer einen Erfolg durch die Erhöhung dieses Werts gemeldet.
- max_input_time: Wenn Wenn die POST-Anfrage zu lange dauert, kann dieser Parameter Probleme verursachen. Legen Sie einen geeigneten Wert fest oder setzen Sie ihn auf -1, um jegliche Zeitüberschreitung zu deaktivieren.
- max_execution_time: Auch wenn es unwahrscheinlich ist, dass dies der Übeltäter ist, lohnt es sich, sicherzustellen, dass dieser Wert hoch genug ist, um die große POST-Anfrage zu verarbeiten.
- memory_limit: Wenn die POST-Daten das Speicherlimit für den PHP-Prozess überschreiten, kann es zu Problemen kommen. Passen Sie diesen Wert nach Bedarf an.
Weitere Überlegungen
- Überprüfen Sie, ob Proxyserver oder Lastausgleichsfunktionen vor Ihrem Server Einschränkungen aufweisen.
- Erwägen Sie, die großen POST-Daten in kleinere Blöcke aufzuteilen, wenn die Größe die Grenzen des Systems überschreitet.
Das obige ist der detaillierte Inhalt vonWarum kommen meine AJAX POST-Daten mit mehr als 2 Millionen Zeichen auf der PHP-Seite leer an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!