Ein Blog über Code, Hardware und Co

Programmieren und Entwickeln, Technik und Hardware

Das Upload Limit in WordPress erhöhen

Gerade bei Webseiten mit vielen Medien (Bildern und Videos) kann es vorkommen, dass eine Datei aufgrund der Größe und des Upload-Limits nicht in die Medienverwaltung von WordPress hochgeladen werden kann.
Zum Glück lässt sich dieses Problem leicht beheben.

WordPress bietet eine umfassende Medienverwaltung, die den Upload von Bildern, Dateien und Videos ermöglicht. Das ist sehr praktisch, stößt aber mitunter besonders bei großen Bildern und Videos an seine Grenzen.
Denn es gibt zwei Stellen, an denen das Upload-Limit definiert wird, also die maximale Dateigröße von Dateien, die hochgeladen werden können, eingestellt und begrenzt wird.

Abbildung 1: Die maximal erlaubte Dateigröße für einen upload wird im Uploadformular angezeigt.

WordPress-Einstellung

In der Konstanten WP_MEMORY_LIMIT wird definiert, wie groß eine Datei sein darf, die im WordPress hochgeladen wird. Hier sollte man zunächst ansetzen und den Wert anpassen. Kommt man hier nicht zum Erfolg, muss man bei der PHP-Einstellung ansetzen.

PHP-Einstellung

Wenn alle Einstellungen im WordPress keine Wirkung zeigen und auch das Plugin unter Punkt 3 anzeigt, dass die Begrenzung serverseitig vorliegt, muss man eine PHP-Einstellung anpassen. Wie das geht, erkläre ich weiter unten im Artikel. Leider ist dazu oft Hilfe des Webhosters notwendig.

Zusammenfassung

Um das Upload-Limit der Dateigröße bei WordPress anzupassen gibt es mehrere Ansätze. Während eine Änderung mittels Plugin direkt vom Nutzer geschehen kann, ist bei der Änderung der wp-config.php FTP-Zugriff notwendig.
Sollten alle diese Maßnahmen nicht greifen, liegt ein serverseitiges Upload-Limit vor. Dieses lässt sich nur über eine Anpassung der php.ini-Datei vornehmen. Da es sich hierbei um eine grundlegende PHP-Konfiguration handelt ist die Änderung oft nur über den Hoster möglich.

1.) WP_MEMORY_LIMIT in der wp-config.php erhöhen

WordPress hat einen integrierten Überprüfungsmechanismus, der checkt, wie groß die hochzuladende Datei ist, und ob diese überhaupt hochgeladen werden darf.
Dafür verwendet WordPress einen Grenzwert, der in der Konstanten WP_MEMORY_LIMIT gespeichert ist.

Um die Konstante anzupassen bzw. zu setzen, müssen wir die wp-config.php öffnen und editieren. Dazu navigieren wir per FTP oder in der Konsole in das root-Verzeichnis der WordPress-Installation.

Hier finden wir die Datei „wp-config.php“. Diese laden wir nun via ftp herunter und bearbeiten sie mit dem Editor unserer Wahl, oder nutzen auf der Konsole:

vi wp-config.php

Wir fügen ganz unten nun folgenden Code in die Datei ein:

define('WP_MEMORY_LIMIT', '256M');

Achtung: Nach dem Updaten der php.ini muss der PHP-Dienst neu gestartet werden, erst dann wird der neue Wert übernommen.

Tipp: Der Wert (in diesem Fall 256) definiert, wie groß die Datei sein darf. M steht für MegaByte. Analog würde man G für GigaByte verwenden.
Ganz wichtig ist auch das Semikolon am Ende der Zeile, sonst quittiert Eure Webseite mit einem 500er-Error den Dienst 😉

2.) Upload-Limit in der php.ini ändern

WordPress ist ein CMS, das überwiegend in PHP geschrieben ist. PHP ist eine Skriptsprache, die einen Interpreter bereithält, der den PHP-Code ausführt und letztlich HTML-Webseiten ausgibt.
PHP lässt sich konfigurieren. Dafür wird eine Konfigurationsdatei namens php.ini verwendet.

Neben vielen anderen Konfigurationsparametern wird hier auch die maximale zum Upload akzeptierte Dateigröße festgelegt.

Dafür sind folgende Variablen wichtig:

VariableSinnvoller WertErklärung
file_uploadsOnSchaltet die Möglichkeit von Fileuploads ein.
memory_limit256MDiese Variable beschreibt, wie viel RAM (Arbeitsspeicher) ein PHP-Prozess maximal allokieren – also reservieren darf.
Der Wert sollte mindestens dem der maximalen Dateigröße des Uploads entsprechen.
upload_max_filesize256MDie maximale Dateigröße, die ein Upload maximal haben darf.
post_max_filesize256MDie Variable definiert, wie viel MB ein POST-Request an PHP maximal haben darf.
Tabelle 1: Beschreibung der für die Erhöhung des Uploadlimits relevanten Parameter.

In der php.ini sieht der Upload von Dateien bis 256MB dann z.B. so aus:

; File-Upload einschalten - in der Regel bereits in der Standardkonfiguration aktiviert.
file_uploads = On

; Memory Limit auf 256 MB erhöhen. Hier ist oft für andere Skripte bereits ein größerer Wert eingetragen.
memory_limit = 256M

; Die Maximale Dateigröße für Uploads angeben
upload_max_filesize = 256M

; Die Maximale Größe für POST Requests angeben
post_max_size = 256M

Hinweis: Die Semikola bedeuten, dass dahinter zunächst ein Kommentar folgt. In der Zeile danach wird dann die Variable definiert und der Wert gesetzt.

Tipp: In vielen Webhostingpaketen kann man die relevanten Parameter der php.ini bequem über ein Webinterface des Providers anpassen. Es lohnt sich, hier einmal beim eigenen Hoster anzufragen.

3). Mit Plugin anpassen

Im Prinzip macht dieses Plugin nichts anderes als Variante 1. Es passt den WordPress internen Grenzwert für Fileuploads an.
Das bequeme an diesem Plugin ist, dass es zunächst die gesetzten Grenzwerte ausliest – auch den Wert aus der php.ini. Diesen Wert kann das Plugin leider nicht editieren, man muss in diesem Fall den Hoster kontaktieren.
Aber immerhin weist das Plugin auf diesen Umstand hin, siehe Screenshot unten.
Zu finden ist es hier.

Abbildung 2: Erhöhung des Upload-Limits mit Hilfe des Plugins „Increase Maximum Upload File Size“.

4.) In Multisites: Parameter anpassen

Diese Methode kann man leider nur bei Multisite-Installationen nutzen. Wenn Deine WordPress-Seite aber Teil soeines Multisite-Netzwerkes ist, kannst Du ohne zusätzliches Plugin zumindest die WordPress-Begrenzung bearbeiten.
Sollte das serverseitige Limit das Problem sein, kommst Du auch hier aber nicht um den Kontakt zu Deinem Hoster bzw. das Bearbeiten der php.ini herum.

Abbildung 3: Unter „Netzwerk-Verwaltung“ -> „Einstellungen“ kannst Du die „Maximale Dateigröße eines Uploads“ einstellen. Achtung. Die Angabe erfolgt hier in KiloByte.

Fazit

Schreibe eine Antwort