Was tun, wenn die Bilder für den WordPress Upload zu groß sind?

Da möchte man zum Beispiel ganz gepflegt die Ergebnisse der letzten Fototour in die Mediathek seines WordPress-Blogs hochladen und der Vorgang bricht erfolglos mit einer Fehlermeldung ab. Wer WordPress auf einem der äußerst günstigen Tarife eines shared Webhosting Anbieters installiert hat, kennt das bestimmt.

Ich zeige euch hier ein paar Kniffe für den Apache Webserver, wie man das beheben kann.

Es kann verschiedene Gründe geben, weshalb ein Bild nicht in die Mediathek hochgeladen wird, aber oftmals liegt es an der puren Dateigröße, die gerade im Bereich der semiprofessionellen Photographie die kritische Grenze oft überschreitet.
Das liegt dann mitnichten an WordPress selbst (weshalb ihr es deshalb nicht bestrafen solltet), sondern eher an den Einstellungen von PHP auf dem Webserver. Die Arbeit wird ja letztlich durch PHP vollzogen. Ganz kurz: PHP nimmt die Datei entgegen, liest sie in den Arbeitsspeicher und schreibt sie wieder auf den WordPress-Webspace. Wenn die Datei zu groß für diesen Prozess ist und die Grenzen des Erlaubten sprengt, bricht der Vorgang eben erfolglos ab.

Das Verhalten von PHP kann man normalerweise über zwei Konfigurationsdateien auf dem Webserver steuern: php.ini und .htaccess. Es gibt natürlich Webhostinganbieter, da hat man auf gar keine dieser Dateien Zugriff. Da kann man das unter Umständen über die Verwaltungsoberfläche des Hostingpakets (z.B. cpanel, Plesk, Conffix) erledigen. Wenn das auch nicht möglich ist, fragt den Webhoster direkt an, ob er das für euch erledigt.

1. Die Einstellungen in der php.ini ändern

Der erste Anlaufpunkt ist dabei immer die php.ini. Das ist auf einem Apache Webserver die klassische Konfigurationsdatei für PHP. Hier tragt ihr diesen Codeschnipsel (sofern noch nicht vorhanden) ein und speichert sie im obersten Verzeichnis des Webspace ab:

upload_max_filesize = 1000M
post_max_size = 1000M
memory_limit = 1000M
file_uploads = On
max_execution_time = 120

Das M steht für Megabyte und die Angaben für die max_execution_time erfolgt in Sekunden. Probiert ein wenig mit den Werten, bis es für euren Blog passend ist.

2. Die Einstellungen in der .htaccess ändern

Sollten die Angaben in der php.ini gar keine Wirkung haben, erstellt eine .htaccess (sofern noch nicht vorhanden) und setzt diese Werte an den Beginn:

php_value upload_max_filesize 1000M
php_value post_max_size 1000M
php_value memory_limit 1000M
php_value max_execution_time 120
php_value max_input_time 120

Gleiches Spiel wie bei der php.ini, nur das hier ein paar mehr Anweisungen eingetragen werden müssen. Die Angaben in einer .htaccess gelten immer ab dem Verzeichnis abwärts, in dem sie auf dem Webspace liegt. Sie sollte also mindestens im Wurzelverzeichnis der WordPress Installation liegen.

3. Das Memory Limit in der wp-config.php hochsetzen

Auch wenn eine der beiden zuvor aufgeführten Methoden funktioniert und das Problem mit dem Bilderupload löst, solltet ihr das PHP Memory Limit für WordPress erhöhen. Auch WordPress arbeitet innerhalb eines eigenen Speicherlimits, was bei der Verarbeitung großer Bilddateien oder damit zusammenhängenden Plugins zu Problemen führen kann. Also sucht im WP_Basisverzeichnis nach der Datei wp-config.php und setzt folgende Anweisung in die nächste Zeile nach dem öffnenden PHP <?php:

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

Das WordPress eigene Limit für den Arbeitsspeicher wird hierbei auf 256 Megabyte gesetzt, was zum Zeitpunkt dieses Artikels mehr als ausreichend sein sollte (wir können ja in 2 Jahren nochmal nachlesen).

Sollte durch diese Maßnahmen das Problem nicht behoben sein, prüft einmal, ob noch genügend physischer Speicherplatz vorhanden ist und die Berechtigungen für den Upload-Ordner ausreichend sind.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.