Skip to content

Upload bricht mit HTTP 413 ab: Upload-Limit erhöhen

Last reviewed

This content is not available in your language yet.

Bricht ein großer Upload mit 413 Content Too Large ab, obwohl upload_max_filesize und post_max_size längst hoch genug stehen, liegt es fast nie an PHP. Auf Plesk-Servern sitzt vor PHP der Webserver nginx mit einem eigenen Limit für die Request-Größe — Standard sind 128 MB. In Plesk stellst du beide Grenzen selbst ein, auf cPanel übernehmen wir das per Ticket.

  • Zugang zum Hosting-Panel — siehe Anmeldung am Hosting-Panel.
  • Die Zielgröße: Wie groß ist die größte Datei, die hochgeladen werden soll? Runde großzügig auf, damit du die Werte nicht bei jedem Update erneut anfassen musst.

Ein Upload muss zwei Grenzen passieren, in dieser Reihenfolge: erst das Body-Limit des Webservers, dann die PHP-Limits. Beide müssen mindestens so groß sein wie deine Zieldatei.

  1. Öffne Websites & Domains und wähl die Domain.
  2. Klick auf PHP-Einstellungen.
  3. Setz upload_max_filesize auf die Zielgröße, z. B. 512M.
  4. Setz post_max_size auf denselben Wert oder etwas höher. Der Wert muss mindestens so groß sein wie upload_max_filesize, sonst gilt die kleinere Grenze.
  5. Erhöh bei Bedarf max_input_time und max_execution_time (z. B. 300), damit langsame Verbindungen nicht in den Timeout laufen. Klick auf Übernehmen.
  6. Geh zurück zur Domain und öffne Hosting & DNS → Apache & nginx-Einstellungen.
  7. Scroll zum Abschnitt nginx-Einstellungen und such das Feld Maximal zulässige Größe des HTTP-Anforderungstexts.
  8. Trag dort den Wert in Bytes ein, mindestens so groß wie post_max_size. Für 512 MB: 536870912. Klick auf OK.
  9. Wiederhol den Upload. Der Wert greift sofort, ein Neustart ist nicht nötig.

413 Content Too Large, obwohl phpinfo() die hohen Werte zeigt

Abschnitt betitelt „413 Content Too Large, obwohl phpinfo() die hohen Werte zeigt“

PHP ist korrekt konfiguriert, aber nginx lehnt den Request vorher ab. Das erkennst du in der Browser-Konsole (F12 → Netzwerk): Der POST an die Upload-URL endet mit Status 413.

Lösung: Das nginx-Body-Limit erhöhen — Schritte 6 bis 8 im Plesk-Tab. Auf cPanel-Systemen per Ticket, siehe cPanel-Tab.

Weil nginx den Request verwirft, bevor er PHP erreicht, schreiben weder Magento, WordPress noch Nextcloud etwas ins Log. Auch im Zugriffs-Log der Domain fehlt der Eintrag oft.

Lösung: Nicht im Anwendungs-Log suchen, sondern in der Browser-Konsole. Der HTTP-Status dort ist der Nachweis.

Der Upload läuft durch, danach kommt 504 oder eine weiße Seite

Abschnitt betitelt „Der Upload läuft durch, danach kommt 504 oder eine weiße Seite“

Die Datei ist angekommen, aber die Verarbeitung danach — Entpacken, Importieren, Bilder generieren — dauert länger, als PHP laufen darf. Neben max_execution_time kann hier auch das Ausführungs-Limit des PHP-FPM-Pools greifen, das im Panel nicht sichtbar ist.

Lösung: max_execution_time erhöhen und den Upload wiederholen. Bricht es weiterhin nach exakt derselben Zeit ab, Ticket öffnen — wir passen das Pool-Limit an.

Manche Anwendungen begrenzen Uploads zusätzlich selbst — WordPress im Multisite-Betrieb über die Netzwerk-Einstellungen, manche Magento- und Shopware-Erweiterungen über eigene Optionen.

Lösung: Die Fehlermeldung der Anwendung lesen — sie nennt in der Regel das Limit, das gegriffen hat. Diesen Wert in der Anwendung anpassen, nicht im Panel.

Bleibt es beim 413, obwohl beide Limits hoch genug stehen, oder bist du auf einem cPanel-System? Ticket im Kundencenter öffnen — nenn Domain, Zielgröße und den Screenshot der Browser-Konsole, dann stellen wir es ein.

Hosting plans and serversNot a rack::SPEED customer yet? This guide applies to our hosting plans and servers, looked after by engineers instead of a call center, since 2008.