Skip to content

Alles für WordPress, Webentwicklung — und mehr

Das Datei-Upload-Limit in WordPress: wie viel und wo man es ändert

Geben Sie an, wie groß die hochzuladenden Dateien sind — das Werkzeug berechnet einen stimmigen Satz von Werten und zeigt, welcher Weg auf Ihrem Servertyp funktioniert. Alles wird im Browser berechnet, nichts wird irgendwohin gesendet.

Wie groß die größte Datei sein soll, die Sie hochladen wollen.
Die WordPress-Mediathek sendet Dateien einzeln. Eigene Formulare mit mehreren Feldern senden sie in einer einzigen Anfrage.
Wenn Sie es nicht wissen, schauen Sie in phpinfo(), Zeile Server API: Apache 2.0 Handler = mod_php, FPM/FastCGI = PHP-FPM, LiteSpeed = LSAPI.
DirektiveWarum genau dieser WertWert


    
Warum es nicht funktioniert hat: Checkliste Die Werte sind eingetragen, das Limit ist aber unverändert — fast immer liegt es an einem der neun Punkte unten.

Hartes Limit des Hosters. Ein Wert über dem im Tarif erlaubten wird stillschweigend gekappt: in der Datei 512M, in phpinfo()64M. Es hilft nur eine Anfrage beim Support.

Sie haben die falsche php.ini bearbeitet. Die aktive Datei nennt phpinfo() in der Zeile Loaded Configuration File; daneben steht Additional .ini files parsed — auch diese werden gelesen und können Ihre Werte überschreiben.

LimitRequestBody in Apache. Das Limit des Webservers selbst, in Bytes, im vhost oder in .htaccess. Es kappt den Request-Body vor PHP — der Nutzer sieht 413, in den PHP-Logs steht nichts.

Der PHP-Prozess wurde nicht neu gestartet. php.ini wird einmal beim Start gelesen. Bei PHP-FPM müssen Sie FPM selbst neu starten — ein Neustart von nginx oder Apache liest den Pool nicht neu ein.

.user.ini wird nicht sofort übernommen. PHP hält die Datei user_ini.cache_ttl Sekunden im Cache (standardmäßig 300). Warten Sie 5 Minuten oder starten Sie FPM neu.

OPcache. Die php.ini selbst wird nicht gecacht, wohl aber Ihre wp-config.php mit @ini_set. Nach einer Änderung: opcache_reset() oder Neustart des Prozesses.

Ein Proxy davor. Cloudflare kappt Uploads im kostenlosen Tarif bei 100 MB; ein Load Balancer, Engintron oder nginx vor Apache hat ein eigenes client_max_body_size.

Eine Begrenzung seitens WordPress. Multisite: Netzwerk → Einstellungen → Maximale Dateigröße (in KB). Dazu der Filter upload_size_limit, den manche Themes und Security-Plugins setzen.

Temporäres Verzeichnis. Wenn upload_tmp_dir nicht beschreibbar ist oder die Partition voll ist, kommt die Datei ohne eindeutige Fehlermeldung nicht an. Prüfen Sie sys_get_temp_dir() und den freien Speicherplatz.

Die Berechnung läuft in Ihrem Browser — es werden keinerlei Serverdaten irgendwohin gesendet.

Warum es fast nie reicht, nur upload_max_filesize zu ändern

Die Uploadgröße wird von mindestens vier unabhängigen Werten begrenzt, und der kleinste davon gewinnt. upload_max_filesize — die Größe einer einzelnen Datei. post_max_size — die Größe der gesamten POST-Anfrage. Muss größer sein als upload_max_filesize, sonst wird die Datei abgeschnitten, bevor das erste Limit überhaupt geprüft wird. memory_limit — muss die gesamte Anfrage fassen; für WordPress mindestens 256M. client_max_body_size — das Limit von nginx. Es wird am häufigsten vergessen: PHP erlaubt bereits alles, aber nginx liefert 413 Request Entity Too Large. Eine eigene Falle ist die Methode. php_value-Direktiven in der .htaccess wirken NUR, wenn PHP als Apache-Modul (mod_php) eingebunden ist. Auf modernem Hosting läuft PHP fast immer als FPM, und dann wird eine solche Zeile entweder stillschweigend ignoriert oder erzeugt einen 500 Internal Server Error. Genau deshalb fragt das Werkzeug nach dem Servertyp und zeigt, welcher Block Ihnen wirklich hilft.

Häufige Fragen