WordPress: Fehler beim Bildupload beheben

HTTP Fehler

WordPressDer „HTTP Fehler“, das ist wohl die häufigste Fehlermeldung, die man zu sehen bekommt, wenn WordPress bei dem Versuch ein Bild in die Mediathek hochzuladen mal wieder Probleme macht (auch mich hat es kürzlich wieder mal erwischt, daher auch dieser Post), das kann viele Ursachen haben, ich habe hier einmal die häufigsten zusammengefasst, und natürlich auch wie man sie behebt.

Zunächst einmal die einfachste Lösung, die man immer als erstes ausprobieren sollte: Die Seite neu laden, ggf auch mal aus- und wieder einloggen, häufig funktioniert es danach schon wieder, ist dies nicht der Fall, löscht man dazu noch den Browsercache und wiederholt das Ganze, funktioniert es nun war es dann wahrscheinlich nur ein Problem mit dem Cache , der Session oder ihr wart zwischenzeitlich kurz nicht mehr mit dem Internet verbunden (24h Disconnect, Router Neustart oder ähnliches).

Fehlende Rechte

Besonders wenn man sein WordPress-Blog gerade erst installiert oder „umgezogen“ hat passiert es nicht selten, dass vergessen wird überall die Rechte korrekt zu setzen, das betrifft in diesem Fall vor allem das Verzeichnis /wp-content/uploads – dieses Verzeichnis, sowie alle Unterverzeichnisse, brauchen unbedingt Schreibrechte. Diese setzt man, indem man sich via FTP auf seinen Server verbindet, das Verzeichnis auswählt und dann per Rechtsklick die Option „Eigenschaften“ (oder ähnliche, abhängig vom genutzten FTP Client, ich selbst benutze WinSCP) auswählt und die Rechte auf 0755 setzt, am besten noch die Option „rekursiv setzen“ auswählen um nicht alle Unterverzeichnisse einzeln bearbeiten zu müssen.

Das Bild ist zu groß

Auf vielen Servern ist das Limit für die Dateigröße beim Upload via PHP standardmäßig auf nur 2 MB gesetzt, was natürlich gerade bei hochauflösenden Bildern schnell zu wenig sein kann, in diesem Fall müsst ihr (oder euer Hoster, falls ihr selbst keinen Zugriff darauf habt) den Wert entsprechend erhöhen, was auf verschiedene Arten möglich ist:

1. Die php.ini

Die php.ini ist die Konfigurationsdatei von PHP, wenn ihr Zugriff auf diese habt, dann könnt ihr die Limits ganz einfach dort ändern, und zwar in den folgenden Zeilen:

memory_limit = 64M;
upload_max_filesize = 64M;
post_max_size = 64M;
max_execution_time = 999;

Ihr könnt die Werte ggf natürlich auch etwas höher oder niedriger wählen, je nach Bedarf.

2. .htaccess Datei
Auch über die .htaccess Datei lassen sich diese Werte anpassen:

php_value memory_limit 64M
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 999

3. wp-config.php
Auch direkt in der Konfiguration von WordPress kann man die Anpassung vornehmen, dort einfach folgende Zeile hinzufügen / ändern:

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

(dies erhöht automatisch auch die maximale Dateigröße für Uploads)

4. functions.php
Zuletzt gibt es auch noch in der functions.php die Möglichkeit die Limits anzupassen:

ini_set('memory_limit' , '64M');
ini_set('upload_max_size' , '64M');
ini_set('post_max_size', '64M');
ini_set('max_execution_time', '999');

Wie man an der Bezeichnung der Werte erkennen kann machen diese Methoden im Grunde das gleiche, nur auf unterschiedliche Art und Weise, man sollte also nur eine davon benutzen, ich würde dabei von oben nach unten vorgehen, also bei Zugriff auf die php.ini diese Variante benutzen, sonst weiter mit 2 / 3 / 4.

Das Bild hat das falsche Format

Unter Umständen stimmt auch einfach das Format des Bildes nicht, WordPress unterstützt standardmäßig nur JPG (bzw JPEG), GIF und PNG, andere Formate können zwar ggf auch hochgeladen werden, aber es werden keine Thumbnails / Vorschaubilder generiert oder es wird gar nicht erst in der Mediathek angezeigt, achtet also darauf, dass eure Bilder immer eines dieser Formate haben und wandelt Bilder ggf vor dem Upload um (kann eigtl jeder gute Bildbetrachter, z.B. IrfanView), falls ihr sie in einem „exotischen“ Format vorliegen habt.

, , , , , markiert

Schreibe einen Kommentar

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