WordPress bietet die Möglichkeit Bilder, Videos und andere Dateitypen hochzuladen um sie anschließend in der Seite einzubinden oder zu verlinken. Das ist schön. So kann ich z.B. meinen Blog durch nützliche Bilder und Screenshots verbessern. Generell gilt hier aber, dass man gerade Bilder nicht zu groß (Dateigröße) macht. Sonst leidet die Ladezeit für den Nutzer. Also Bilder nur so groß machen wie nötig und am besten dann noch komprimieren (Lesenswert: Image CDN auf keycdn.com). Aber was tut man, wenn die Datei zu groß für den Datei Upload ist und WordPress sich weigert es hochzuladen? Zum Glück gibt es Lösungen das Upload Limit zu erhöhen.
1. WP_MEMORY_LIMIT erhöhen
Wenn man mit dem Problem das Internet durchsucht, wird man sehr schnell fündig und der erste Tipp den man oft liest ist einen Eintrag in der eigene wp-config.php
Datei anzulegen.
In der wp-config.php
stehen verschiedene Konfigurationen für eure WordPress Installation. Dort fügt ihr folgen Eintrag hinzu: define('WP_MEMORY_LIMIT', '64M');
Dieser Eintrag setzt der Memory Limit von WordPress auf 64 MB. Jetzt am besten ein mal prüfen, ob das Upload Limit angepasst ist und ob ihr größere Dateien hochladen könnt. Wenn es funktioniert, dann ist die Arbeit hiermit fertig. Falls das nicht hilft, gibt es noch eine weitere Stelle in der ihr eine Änderung vornehme müsst.
2. Limit in der php.ini ändern
Ein weiterer Tipp, der oft im Internet genannt wird, ist: Upload Limit in der php.ini
Datei ändern.
WordPress läuft mit PHP und diese php.ini
enthält verschiedene Konfigurationsanweisungen, wie PHP auf dem Server sich verhalten soll. Unter anderem steht dort auch drin, wie groß eine Datei sein darf, die hochgeladen wird (Für Profis: Wir reden hier unter anderem von der maximalen Größe eines POST Requests).
Wie man diese Werte in der php.ini ändert ist von Hoster zu Hoster unterschiedlich. Die einen bieten dafür eine GUI an mit der man sich im Browser durch die verschiedenen Werte klicken kann. Wenn man selber SSH Zugriff auf seinen Webspace hat kann man diese Werte oftmals auch direkt in der Datei selber ändern.
Folgende Werte solltet ihr beachten:
; Sicherstellen, dass der Upload eingeschaltet ist file_uploads = On ; Memory Limit auf 128 MB erhöhen memory_limit = 128M ; Maximale Dateigröße für Uploads ; Auf 64 MB setzen upload_max_filesize = 64M ; Maximale Größe für POST Requests post_max_size = 64M
(Zeilen mit einem Semikolon beginnend sind Kommentare)
Wenn die Werte soweit gesetzt sind müsst ihr PHP einmal neu starten (oder den Server neu starten), damit die neue Konfiguration geladen wird.
Info: Abhängig von der Server Konfiguration wird die php.ini Datei nicht neu eingelesen und somit werden die Änderungen nicht übernommen. Hier muss man ggf. den PHP FPM Service separat neustarten.
Wo ist meine php.ini?
Den Pfad zur php.ini
kann man mit folgenden Befehl einfach heraus finden:
$ php -i | grep php.ini # Output # Configuration File (php.ini) Path => /package/host/localhost/php-7.0.3/lib # Loaded Configuration File => /path/of/loaded/php.ini
INFO bei Shared Hosting: Wenn eure Webseite auf einem Shared Hosting liegt, also ihr habt nicht euren eigenen Server, sondern teilt euch einen mit mehreren Nutzern, dann ist es oftmals nicht direkt möglich diese Einstellungen selber vorzunehmen. In diesem Fall müsst ihr euren Hoster einfach direkt anschreiben.
3. Multisite Einstellung
Last but not least, es gibt noch eine dritte Stelle in der man das Upload Limit ändern kann. Diese Möglichkeit wird oftmals nicht genannt, da sie nur für Multisite Installationen wichtig ist.
Als Netzwerk Administrator könnt ihr unter Einstellung > Netzwerk-Einstellungen ebenfalls das Upload Limit erhöhen. Der Punkt „Maximale Dateigröße eines Uploads“ ist unter Dateiupload-Einstellungen zu finden und muss ebenfalls angepasst werden. Der Wert wird hier in KB gerechnet. Wenn wir also ein Limit von 64 MB haben möchten ist 65536 KB einzutragen ( 64 MB * 1024 = 65536 KB ).
Zusammenfassung
Es ist möglich das Upload Limit zu erhöhen. Dafür muss man im besten Fall nur den Eintrag WP_MEMORY_LIMIT
in der wp-config.php
setzten. Wenn das nicht hilft muss man wohl in der php.ini
die Dateigröße für Uploads erhöhen und bei Multisites ist ebenfalls noch der Eintrag in den Netzwerk-Einstellungen zu erhöhen.
Bleibt das Limit an der Stelle auch nach einem automatischen Update erhalten, oder muss man es jedes Mal neu ändern? Danke auch für den Tipp. Gruss Frank
Hallo Frank,
gute Frage. Das Limit bleibt nach einem Update erhalten. Da dieses Vorgehen keine Datei ändert, die beim Update überschrieben wird.
Danke für den Artikel. Ich musste das bei einer Multisite mal wieder suchen. Wieso ist das eigentlich nicht pro Seite einstellbar, wenn es schon die globalen PHP-Settings überschreibt. Und wieso sieht es sich nicht initial den Wert aus der php.ini 🙁
Hallo,
welche Option mir leider in deinem Artikel fehlt ist diese mit der .htacces Datei. Dies ist vor allem sinnvoll wenn nur einzelen Ordner im www Ordner ein höheres Limit brauchen also wenn z.B. einmal eine Normaler Blog vorhanden ist und dann noch ein Forum.
Dies wäre dann das nötige:
php_value upload_max_filesize 25M
php_value post_max_size 25M
Das ist ein guter Tipp. Das war mir gar nicht so bewusst. Ich versuch das nachzutragen.
Klasse geschrieben diese Anleitung zur Änderung- Was fehlt ist vielleicht eine Erklärung in welchem Verzeichnis man diese Dateien findet- ich suche jetzt eine 3/4 Stunde. Aber so ist das eben wenn Programmierer für Normalos schreiben, gehen immer davon aus, dass jeder das gleiche Wissen hat.
Danke Dirk für das Lob, das freut mich sehr. Von welcher Datei genau sprichst du, die du nicht direkt gefunden hast?
Ich merke, dass solche Artikel gut ankommen, aber manchmal ist man einfach betriebsblind. Wenn du also mal ein Thema hast, dass ich in einem Artikel erklären kann schreib mir einfach.
Hi Hans-Helge,
super Beitrag, hat mir aufgrund des super Google-Rankings direkt mein Problem gelöst! Was den andern Artikeln im Netz fehlt, ist die wichtige Sache mit der MultiSite!
Ich denke Dirk meint „in der eigene wp-config.php Datei anzulegen.“ Das ist vielleicht nicht jedem ganz klar.
LG
Hinnerk
Bei mir musste ich es an einer anderen stelle ändern:
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size=3000M
Danke für den Blog. Der Beitrag hat meinen Tag gerettet. Ich habe die zu ändernden Zeile über die Suchefunktion in der jeweiligen Datei gesucht, gefunden und geändert. Und es hat einwandfrei funktioniert.
Gruß
Günter
Der Tipp mit Multisite war’s für mich. Stand sonst nirgends. Vielen Dank!
Endlich mal ein Artikel, der auf ein klares Problem deutliche Antworten gibt und nicht bei der Phrase „…kommt jeweils darauf an …“ stehen bleibt. Es sind sogar mehrere Antworten, bei mir hat die Erste in einem Fall die Lösung gebracht. Als Shared-Hosting-Nutzer würden mich dennoch einige Basics zur php.ini interessieren, einfach um noch vertrauter mit der Technik zu werden. Und wenn es nur ein weiterführender Link mit Grundwissen ist. Ansonsten einfach danke für verständliche Hilfen.
Hallo Hans-Helge,
ich bin absoluter Laie diese Dinge betreffend und ich sitze nun schon seit Stunden vor meinem PC, um meine Webseite einzurichten.
Was das Erhöhen des Upload-Limits angeht:
Wenn ich „wp-config.php“ öffne, in welcher Zeile muss ich denn den Eintrag „define(‚WP_MEMORY_LIMIT‘, ’64M‘);“ einsetzen? Ich habe den einfach ganz ans Ende geschrieben. Da hat sich nichts getan.
Darüber hinaus:
Ich habe bereits eine domain. Meine neue domain erscheint im WebFTP als Unterordner meiner ersten Domain. Soll das so sein? Entsprechend wird mir nämlich jetzt in der Taskleiste eine Doppel-Webadresse angezeigt -beide domains hintereinander weggeschrieben. Das erscheint mir merkwürdig. Außerdem wird mir beim hochladen einer Datei folgende Fehlermeldung angezeigt: „Das Verzeichnis wp-content/uploads/2017/08 kann nicht angelegt werden. Ist das übergeordnete Verzeichnis durch den Server beschreibbar?“ . Was kann das bedeuten?
…so viele Fragen. Ich fänd’s super, wenn du mir da weiterhelfen könntest! 🙂
Hallo Miz,
wenn du einen neue Zeile in die
wp-config.php
einträgst solltest das immer vor der Zeile/* That's all, stop editing! Happy blogging. */
passieren. Das ist ein Kommentar der relativ weit unten in der Datei steht. Wenn du also danach eine Zeile hinzufügst, wie du es gemacht hast, wird diese Änderung ggf. nicht vom ganzen WordPress System erkannt.Das kann ich dir so spontan auch nicht sagen. Ich weiß leider nicht bei welchem Hoster du bist. Jeder Hoster ist das speziell und hat seine Eigenheiten. Ich würde die empfehlen dich beim Support des Hosters zu melden, die kennen ihr System und können dir da sicherlich schneller und kompetenter antworten, als ich das jetzt könnte 🙂
Jedes Verzeichnis (Ordner) und jede Datei hat Zugriffsrechte. Das stellt sicher, dass nur die Leute (User, Maschinen, Bots, was auch immer) darauf Zugriff haben, die es auch sollen. Das kann man für jedes Verzeichnis / Datei individuell einstellen. Der uploads Ordner muss vor allem sogenannte „Schreibrechte“ haben, damit WordPress neue Dateien (deine hochgeladenen Dateien) auch in dieses Verzeichnis ablegen kann. Der Ordner sollte im Idealfall die Rechte 755 haben. Die Zahl drückt aus, wer welche Rechte hat. Sie dazu diese Artikel: File System Permission und Changing File Permissions. Aber auch bei diesem Problem kann dir dein Hoster direkt helfen, weil dieser Zugriff auf die Server hat und das direkt einstellen kann.
Ich hoffe ich konnte dir ein bisschen helfen. 🙂
wo finde ich die datei wp-config.php?
Die ist überlicherweise im Hauptverzeichnis deiner WordPress Installation. Also der Ordner in dem du auch die Ordner wp-content/ , wp-admin/ und wp-includes/ findest.
hallo
ich habe sämtliche anderungen die Du beschrieben hast durchgeführt hier meine wp-config.php
* die zum Debuggen genutzt werden können.
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define(‚WP_DEBUG‘, false);
define(‚WP_MEMORY_LIMIT‘, ’64M‘);
/* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß beim Bloggen. */
/* That’s all, stop editing! Happy blogging. */
/** Der absolute Pfad zum WordPress-Verzeichnis. */
if ( !defined(‚ABSPATH‘) )
define(‚ABSPATH‘, dirname(__FILE__) . ‚/‘
leider nimmt wordpress limit bei mir immer noch 2mb den server habe ich runter und hoch gefahren.
Ich nutze allerdings Ubuntu aber das sollte doch kein problem sein auch die php.ini habe ich eingestelltmit deinen Werten. Hat einer noch eine Idee??
Danke Horst Buley
horstbuley@gmail.com
Danke für die sehr gute Anleitung! Bei mir hatte es trotzdem nicht funktioniert.
Ich habe mehrere php.ini_Dateien auf meinem System. Erst als ich in ALLEN den Wert für upload_max_filesize geändert habe, hat es funktioniert:
./etc/php5/cli/php.ini
./etc/php5/cgi/php.ini
./etc/php5/fpm/php.ini
./etc/php5/apache2/php.ini
Ich habe noch anschließend ein
sudo service php5-fpm restart
und ein
sudo service apache2 reload
durchgeführt.
Hallo Hans-Helge,
danke für deine hilfreichen Beiträge.
Ich habe das Upload-Limit über die Multisite-Einstellungen geändert und auf 64MB ist es kein Problem.
Allerdings möchte ich ein 360MB Video hoch laden, jedoch steigt das Limit auch bei Eingabe von 386.640KB in den Netzwerkeinstellungen nicht über 64MB.
Ist das allgemein nicht möglich, muss ich es über die config.php machen, oder habe ich etwas übersehen?
Liebe Grüße
Marvin
Grundsätzlich ist es schwer von außen zu sagen wo du genau was ändern musst, weil alle Einstellungen irgendwie mit einandner zusammenhängen und auch Hoster-spezifisch sind. Wenn meine Anleitung nicht klappt würde ich direkt beim Hoster nachfragen, ob er dir helfen kann, der kann dann auch direkt auf deinem Server nachgucken und Einstellungen vornehmen.
Der Multisite-Tipp war ein Volltreffer.
Besten Dank!
Herzlichen Dank! Auch für mich war der Multisite-Tipp genau der richtige 🙂
Hallo,
wie bei Vokke!
Ich musste alle php.ini ändern!
###
/etc/php5/cli/php.ini
/etc/php5/cgi/php.ini
/etc/php5/fpm/php.ini
/etc/php5/apache2/php.ini
###
Nur diese, aber dann hat es funktioniert.
Die anderen Änderungen siehe oben waren und sind unnötig!
LG
Hi. Ich kann mich irren, aber erhöht „WP_MEMORY_LIMIT“ nicht nur den Arbeitsspeicher der dem PHP Prozess zur Verfügung gestellt wird? Wirkt sich dieser Wert überhaupt in irgendeiner Weise auf das Upload-Limit aus?
Gleiches gilt für den Wert „memory_limit“ in der php.ini. Der sollte ebenfalls nichts an dem Upload-Limit ändern sondern nur an dem Arbeitsspeicher, der dem WordPress-Prozess zur Verfügung steht, oder?
Gute Frage. Aber ja, die beiden Werte haben Einfluss darauf. Beim Senden von Dateien an den Server (Upload) werden diese Daten als Stream erst in den Arbeitsspeicher geladen bevor sie auf die Platte geschrieben werden können.
Moin Moin,
danke für den tollen Guide, aber leider bin ich kein Profi. Ich versuche gerade mit WordPress eine Website zu erstellen und kann leider nur Bilder in einer schlechten Quali hochladen, wegen der 2MB Begrenzung. Wie finde ich denn genau die Datei, in den WordPress Datein auf meinem Laptop, die ich ändern muss?
LG und vielen Dank schonmal!
Ole
Moin – ich kann hier keinen WP Support anbieten. Wende dich bitte an die (ehrenamtlichen) Helfe im deutschen WP Forum: https://de.wordpress.org/support/forums/