WordPress Mediathek: Medien Upload-Limit umgehen und optimieren

Beim Upoad bei Dateien von mehreren Megabyte ist die Grenze bei Wordpress schnell erreicht

Wenn Du das Weblog-System WordPress als Grundlage für Deine Website nutzt, so bietet es dem Autor in der Administrationsoberfläche im Bereich Mediathek die Möglichkeit, Medien wie Bilder und Videos auf Deinen Server hochzuladen, um sie auf Deiner Website einbinden zu können. Die Größe der Dateien wird jedoch durch WordPress auf zurzeit 8MB begrenzt. Diese Größen dürften auch in den meisten Fällen ausreichen. Doch gibt es Situationen, in denen man größere Dateien verwenden möchte. Hier greift mein Code-Snippet ein: es hebt das Upload-Limit auf und bietet die Möglichkeit, die für Dich passende Größe einzustellen.

Das WordPress Upload-Limit

Der Datei-Upload basiert, wie auch das ganze System bei WordPress, auf PHP-Funktionen. Die Upload-Funktion von PHP wird in zwei Bereichen eingeschränkt. Sowohl die maximale Größe der Dateien, die auf den Server hochgeladen werden dürfen, als auch die maximale zulässige Ausführungszeit, die ein Script andauern darf, wird in der Regel über die Konfiguration in der php.ini eingeschränkt. Die Standardwerte betragen hier meist einige MB (ca. 8MB) für den Upload und ca. 60 bis 90 Sekunden für das Ausführen des Upload-Scripts bei PHP.

Upload-Limit durch die php.ini

Wie Anfangs schon beschrieben, sind diese Beschränkungen in der Regel völlig ausreichend und nur in den wenigsten Situationen werden andere Werte benötigt. Sobald Du jedoch ein Foto- oder Videoblog betreibst, stößt man hier sehr schnell an die Grenzen und der Upload von größeren Dateien wird mit einer Fehlermeldung beendet.

Hier biete es sich an, die Konfiguration global in der php.ini neu einzustellen und hochzusetzen, doch nicht jeder Administrator der Website bekommt die Möglichkeit auf diese Konfigurationsdatei zugreifen zu können. Bei Shared-Hosting-Angeboten wie z.B. WordPress.com ist dies der Fall.

Aus sicherheits- und auch Performancegründen ist eine Veränderung der php.ini nicht ratsam. Wie kann ich nun das Upload-Limit von WordPress umgehen?

Das Upload-Limit umgehen

Die Lösung liegt darin, nur für den Admin-Bereich die Grenzwerte anzupassen.
Zum Anheben der Maximalwerte bedarf es nur ein Hinzufügen von 3-5 Zeilen in eine andere wichtige Konfigurationsdatei. Voraussetzung ist lediglich die Möglichkeit des Zugriffs auf den Webserver, damit die PHP-Einstellungen mittels der .htaccess-Konfigurationsdatei das Upload-Limit umgehen zu können.

Dieser Zugriff könnte bei einigen Providern eingeschränkt oder sogar verboten sein, deshalb ist es wichtig, diesen Umstand schon im Vorfeld zu klären. Wenn alle Voraussetzungen gegeben sind, gehst Du nun folgendermaßen vor:

  1. Erstelle eine Textdatei mit dem Namen .htaccess.
    Schwierigkeiten gibt es mit dem Punkt am Anfang der Datei. Deshalb ist oft ratsam, die Datei ohne Punkt zu erstellen und erst auf dem Webserver umzubenennen. Hört sich umständlich an, ist jedoch innerhalb von wenigen Sekunden umgesetzt. :)
    Liegt diese Datei bereits auf Deinem Webserver so gehe bitte in den Bearbeitungsmodus.
    Wie, hängt von Deinen Einstellungen ab. Ob Du sie online bearbeiten kannst oder erst auf Deine Festplatte laden musst, wird individuell geregelt sein.
    Wenn Du bereits eine »htaccess« auf Deinen Webserver hast, so füge die folgenden Zeilen am unteren Ende ein.
  2. #Upload von Dateien - Groesse ändern und die Ausfuehrungszeit erhoehen
    php_value upload_max_filesize 800M
    php_value post_max_size 800M
    php_value max_execution_time 6400
    php_value max_input_time 6400
  3. Die erstellte/geänderte Datei lädst Du bitte entweder in das Verzeichnis /wp-admin/ innerhalb der WordPress-Installation oder aber ins Root-Verzeichnis. Ich habe sie auf in meinem Wurzelverzeichnis abgelegt und alles funktioniert einwandfrei.

Eine kleine Beschreibung, was die Zeilen für die Umgehung des Upload-Limits bedeuten, möchte ich noch anfügen.

In der ersten beiden Zeilen legst du die maximale Größe der Datei fest, die innerhalb eines Beitrages und auch in der Mediathek hochgeladen werden darf.

Die dritte und vierte Zeile legen die Ausführungszeit fest. In diesem Beispiel liegt sie bei ca. 54 Minuten. Das dürfte reichen, um eine 100MB-Datei hochladen zu können.

Lediglich die letzte Zeile kann wegelassen werden, wenn genug Speicher für WordPress zur Verfügung steht. Ist dies nicht der Fall, so stürzt der Upload mittendrin ab. Auf diesen technischen Aspekt möchte ich nicht näher eingehen, da es den Rahmen des Artikels sprengt. In den meisten Fällen sollte es aber keine Probleme mit dem Speicher geben.

Wichtig ist, das Du kontrollierst, ob die fünfte Zeile in der .htaccess schon vorhanden ist. Es würde sonst zu einem Absturz des Weblog-Systems führen!

Abschließende Worte zu dieser Lösung das WordPress Medien-Upload-Limit zu umgehen

Dass Schöne an dieser Lösung ist, dass kein weiteres Eingreifen in das System nötig ist. Ein paar Zeilen in eine Textdatei einfügen und das Problem ist gelöst. Wenn das immer so einfach wäre… ;)

Es bietet sich zudem an, mehr Dateitypen zum Upload freizugeben, damit auch flv-Dateien (Flashdateien) oder mp3-Dateien ohne weiteres genutzt werden können. Doch dazu in einen anderem Beitrag.

Wie denkst Du über die Einschränkung bei der Upload-Funktion von WordPress? Kanntest Du diesen Code-Snippet schon oder ist diese Möglichkeit für Dich völlig uninteressant?
Deine Meinung interessiert mich und ich freue mich auf Deinen Kommentar. :)

Hinweis: Zurzeit verwende ich WordPress in der aktuellen Version 3.2.1 und es funktioniert alles einwandfrei.

Zeige deinen Freunden, was Dir gefällt!

Metadaten

Hast du etwas zum Thema beizutragen? Ich freue mich sehr über weitere Hinweise, andere Sichtweisen oder anregende Diskussionen. Natürlich gern auch Fragen, die ich versuchen werde zu beantworten. Bitte beachte vor dem Kommentieren die Hinweise zur Netiquette hier auf NetzBlogging.de. Vielen Dank!
Die Top-Kommentatoren findest Du in der Wall of Fame

19 Kommentare

Markus H
Markus H
3 Kommentare
Sven
Sven
2 Kommentare
g3mCraft
g3mCraft
1 Kommentar
Axel der Autoschieber
1 Kommentar
sblatt
sblatt
1 Kommentar
olly elsner
1 Kommentar
miro
miro
1 Kommentar
» Schreibe einen Kommentar
  1. Hey :)

    Ich hab momentan dieses Problem jedoch funktioniert es leider nicht. :(
    Ich habe die .htpaccess wie beschrieben geändert jedoch ist es immer noch nicht möglich z.B. in der Mediathek von WordPress Bilder die größer als 2MB sind hochzuladen.

    • Hallo g3mCraft,
      ohne zusätzliche Informationen kann ich Dir leider nicht viel helfen.
      Folgende Fragen sind zu klären:

      Zugriff auf Server vorhanden um die .htaccess zu erstellen?
      .htaccess im /wp-admin/-Ordner?
      Code-Snippet richtig kopiert?
      eigene Einstellungen überprüft?
      Überprüfung des Memory-Limits; eventuell doppelter Eintrag?

      Versuche bitte, diese Fragen zu klären. Vielleicht ist somit Dein Problem behoben. :)
      LG
      Timm

  2. Pingback: Wordpress 3-1-1 Medienupload-Problem | Infopool für Webmaster und Blogger

  3. Pingback: Upload-Limit in WordPress umgehen » SigisWorld

  4. Hallo,

    ich habe auch versucht, das Problem in der angegebenen Vorgehensweise zu beheben und habe die zusätzl. Zeilen in der Datei geändert. Ich bekomme danach beim Versuch, die Seite aufrufen einen »Internal Error« angezeigt, die Seite läßt sich also übrehaupt nicht mehr aufrufen. Allerdings heißt meine Datei htaccess (abgelegt im Rootverzeichnis) und nicht htpaccess und dort sind bereits folgende Zeilen eingetragen:

    DirectoryIndex index.php
    # BEGIN WordPress
    
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    
    # END WordPress

    Ist das dann vielleicht die falsche Datei oder erlauben die bereits vorhandenen Zeilen keine Modifikation?

    Grüße und danke
    S.Blatt

  5. Hallo S.Blatt,

    schade, das es nicht auf Anhieb funktioniert.
    Was mir aufgefallen ist, warum rufst Du nicht das Modul Rewrite auf?

    Es fehlt:
    <IfModule mod_rewrite.c> und </IfModule>

    So sollte es dann richtig aussehen:

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress

    Am Ende der htaccess kannst Du folgendes einfügen:

    #Upload von Dateien - Groesse ändern und die Ausfuehrungszeit erhoehen
    php_value upload_max_filesize 800M
    php_value post_max_size 800M
    php_value max_execution_time 6400
    php_value max_input_time 6400

    Ich hoffe, ich konnte Dir etwas helfen.

    Beste Grüße aus Berlin
    Timm

  6. hallo erstmal, ich weiss nicht genau od das hier überhaupt hingehört aber ich möchte wenigstens meine probleme mal schildern.
    also, ich lade ein video in die mediadatei und möchte dieses dann irgendwo im blog mit einemplayer einbinden. klingt einfach, ist es aber zumindest für mich nicht, denn nach dem ordnungsgemässen einfügen der mediadateiadresse (also Link) fügt es sich zwar ein, aber egal was ich für ein playerformat wähle, läd er den player zwar aber die videodatei bleibt hängen, bzw erscheint erst garnicht……….
    grrrr….. was mache ich falsch.

    falls ebenfalls bekannt sein sollte ist noch ein problem mit simple press auf meinem blog. da bekomme ich mit dem tiny edit kein ifram eingebunden, alle anderen laufen normal. auch komisch, bei html edit geht es aber.
    das kapier ich ebenfalls nicht wirklich.

    darfst gerne mal testen auf der seite da ich sie noch als testphase laufen lasse.

    gruss olly

  7. Hallo, bei WordPress 3.3.2 funz es nicht. ist das nun definitiv nicht mehr möglich? weiss dass jeamnd?

    Gruss

    • Hallo Miro,
      bei mir funktioniert alles einwandfrei. Was für text hast du eingefügt in die htaccess?

      Der Quelltext wurde nicht ganz so angezeigt, wie er sollte, deshalb frage ich.
      Jetzt ist aktualisiert worden und schaut so aus:

      #Upload von Dateien - Groesse ändern und die Ausfuehrungszeit erhoehen
      php_value upload_max_filesize 800M
      php_value post_max_size 800M
      php_value max_execution_time 6400
      php_value max_input_time 6400

      Probiere es infach nocheinmal aus. Sollte funktionieren.

      LG Timm

  8. Hallo Timm, mit WP3.4.1 geht es leider nicht. Habe die .htaccess erstellt (bei mir war sie gar nicht vorhanden) und deinen Code reinkopiert. Ab ins Rootverzeichnis: WP stürzt ab! Pack ich sie in den wp-admin Ordner stürzt WP bei der Anmeldung ab. Die ganze Graphik ist weg + es wird nur noch Text angezeigt. Schade, woran kann das liegen?

    • Hallo Markus,
      meine erste Frage geht dahin, warum du vorher keine htaccess hattest. Hast Du Deine Permalinks eingestellt oder alles so belassen wie im Originalzustand. Mit anderen Worten, wie sehen Deine Links zum Artikel aus. Sind das Fragezeichen mit Zahlen am Ende oder steht im Link der titel Deines Beitrages?

      Ich habe weiterhin diesen Code bei mir in der htaccess und es funktioniert einwandfrei. Warum WordPress abstürzt, kann genau diese Ursache haben aber dafür weiß ich zu wenig über Deine Konfiguration.
      LG Timm

  9. Hi Timm, ich habe die Links im Originalzustand gelassen, also »?«+Nummer. Ich benutze WP als CMS für ne Homepage, daher keine Artikel, nur Seiten. Das ganze läuft bei 1+1. Bei meinem Blog (ebenfalls bei 1+1) ist auch keine .htaccess dabei. Weiß auch nicht, wieso. Ich hab das Problem nun für mich über die php.ini gelöst. Diese Datei existierte bei mir auch nicht, habe aber im Internet eine bearbeitete Version gefunden mit Upload Limmit 5 GB! Das läuft hervorragend. Jetzt kann ich alle Videos problemlos hochladen.

    Übrigens: das WP-Update 3.4.1 ist etwas prblematisch, da viele Plugins noch nicht angepasst sind + definitiv nicht laufen. Ich wollte z.B. qTranlate verwenden, das kackt aber ab. Nun muss ich mir überlAuch der jwplayer scheint unter 3.4.1 zu zicken. Ich werd wohl doch auf die Vorgängerversion zurückgehen, bis alle Plugin einwandfrei laufen.

    Gruß
    Markus

    • Hallo Markus, es tut mir leid, dass ich erst jetzt zu einer Antwort komme. Hat sich Dein Problem inzwischen erledigt oder brauchst Du noch immer Unterstützung?
      LG Timm

      • Das Uploadproblem ist gelöst. Danke für deine Tips! Allerdings weiß ich immer noch nicht, wieso ich keine .htaccess in meinem WP-Verzeihnis habe. Scheint allerdings keine negativen Folgen zu haben (bisher).
        Gruß
        Markus

    • Hallo Markus, da du Deine Links nicht als »Permalinks« gesetzt hast, braucht es auch nicht unbedingt eine »htaccess«, in der die »Rewrite-Regeln« festgelegt werden.
      Warum es mit dem Code-Snippet ohne »htaccess« funktioniert, kann ich Dir nicht sagen, wahrscheinlich, weil du die »php.ini« editiert hast. Ich persönlich finde es aber besser mit einer »htaccess«, weil, wenn Du in der »php.ini« etwas änderst, kannst Du schnell den Überblick verlieren.
      LG Timm
      PS: Wie lautet denn Deine Webadresse? Vielleicht hat ja mal der eine oder andere Lust, vorbeizuschauen. :)

    • Hallo,
      Markus – wie konntest Du bei 1&1 die php.ini verändern auf z.B. 5 GB bzw.diese anlegen dafür?
      Bin auch bei 1&1 mit dem Dual Unlimited Paket und es bleibt lt. Aussage begrenzt-hier der Link (dort auf Performance gehen):
      https://hosting.1und1.de/linux-hosting?__reuse=1368542406914
      Ich hätte gerne gewußt, wie und den Link zum erstellen der php.ini – wie Du ja angedeutet hattest – im Internet gefunden! So würde meine php.ini aussehen müßen oder Werte ein wenig höher…
      php_value upload_max_filesize 240M
      php_value post_max_size 250M
      php_value max_execution_time 50000
      php_value max_input_time 50000

      Timm: bei mir tritt die Fehlermeldung beim Upload über Admin (im Bildupload) – maximal 8 MB – auf!
      Da ich über FTP das Video hochladen kann und auch auf Server sichtbar ist, stellt es sich für mich OttoNormalMensch so dar, als wenn es ein WordPress Problem ist!
      Habe sämtliche Sachen schon ausprobiert – Video geschnitten auf 65 MB. Neue Dateiendungen von wmv/avi auf flv – immer meckert WordPress – 8 MB !

      1&1 sagte mir, dass Scripte bei WordPress dieses verhindern würden – keine Ahnung ob es stimmt!

      Da es eine Bezahlseite ist, habe ich zwar eine .htaccess, aber diese liegt dann nicht im wp-admin ordner, sondern:
      wp-admin
      wp-content
      wp-includes
      .htaccess
      blabla
      Natürlich stehen da die Daten des Paymentanbieters drin usw.!
      Achso: nutze das neue WordPress 3.5.1 , mit Standardtheme Twenty Eleven !

      Gerne nehme ich auch Informationen per PN entgegen, da ich ja hier auch nicht alles posten kann (Bezahlseite) – Sorry ! Mail Adresse: Gutes-Wissen@web.de

      Danke für Eure Auskünfte

      Sven

      • nachtrag – frage – so richtig ? daten können dann noch angepaßt werden :
        # BEGIN WordPress

        # END WordPress

        #Upload von Dateien – Groesse ändern und die Ausfuehrungszeit erhoehen
        php_value upload_max_filesize 800M
        php_value post_max_size 800M
        php_value max_execution_time 6400
        php_value max_input_time 6400

  10. Danke genau das habe ich gesucht. Wäre echt nervig dafür ein Plugin zu nehmen. Ich mußte nur 5 Min. warten bis der Server des Providers das annimmt und dann habe ich noch den Browser cache geleert (beim ersten mal ging es nicht).

Hinterlasse eine Antwort

INFO: Mit * markierte Felder sind Pflichtfelder. Bitte gebe Deinen Namen oder Deine Initialen an und hinterlasse eine gültige E-Mail-Adresse. Deine E-Mail wird nicht weiter verwertet.
Ich freue mich auf Deinen Kommentar.

Kommentarregeln | Kommentarhilfe


Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>