WordPress: Die hochgeladene Datei konnte nicht verschoben werden
Meldet WordPress beim Hochladen „Die hochgeladene Datei konnte nicht verschoben werden” oder bricht der Upload ohne Fehlermeldung ab, liegt es an einer von drei Ursachen: fehlende Schreibrechte im Upload-Verzeichnis, zu enge PHP-Grenzwerte oder ein Schutzmechanismus des Hosters.
Überarbeitete Fassung eines Beitrags von 2016. Der ursprüngliche Anlass war ein Schutzmodul bei einem Massenhoster — das Muster begegnet uns bis heute regelmäßig.
1. Schreibrechte und Pfad prüfen
Die Meldung „konnte nicht verschoben werden” bedeutet wörtlich, dass PHP die Datei nicht vom temporären Ordner ins Zielverzeichnis schreiben kann.
- Existiert
wp-content/uploadsüberhaupt? Nach einem Umzug fehlt der Ordner manchmal. - Gehört er dem Benutzer, unter dem PHP läuft? Bei falschem Eigentümer nützen auch großzügige Rechte nichts.
- Üblich sind 755 für Verzeichnisse und 644 für Dateien. 777 ist keine Lösung, sondern ein Sicherheitsproblem.
- Ist der temporäre Ordner beschreibbar und nicht voll? Ein volles Dateisystem erzeugt exakt dieselbe Meldung.
2. PHP-Grenzwerte anheben
Bricht der Upload bei größeren Dateien ab, während kleine funktionieren, sind die Grenzwerte zu eng. Relevant sind vier:
upload_max_filesize— maximale Größe einer einzelnen Dateipost_max_size— muss größer sein als der vorige Wertmemory_limit— Bildbearbeitung braucht Arbeitsspeicher, besonders bei großen Fotosmax_execution_time— bei langsamen Verbindungen läuft sonst die Zeit ab
Die tatsächlich wirksamen Werte finden Sie in WordPress unter Werkzeuge, Website-Zustand, Bericht. Verlassen Sie sich nicht auf die Angaben im Hoster-Panel — Vorgaben aus .htaccess, php.ini und Panel überschreiben sich gegenseitig.
3. Schutzmechanismen des Hosters
Manche Hoster betreiben vor WordPress ein eigenes Schutzmodul, das Schreibzugriffe auf bestimmte Verzeichnisse unterbindet oder Anfragen mit Dateianhängen blockiert. Der Effekt: WordPress ist korrekt konfiguriert, der Upload scheitert trotzdem, und im Fehlerprotokoll steht nichts Aussagekräftiges.
Typische Hinweise darauf sind ein Abbruch ausschließlich bei bestimmten Dateitypen, ein Fehler 403 im Netzwerk-Protokoll des Browsers oder ein Upload, der über die Kommandozeile funktioniert und über den Browser nicht. In diesen Fällen führt kein Weg am Support des Hosters vorbei.
4. Der Verdachtsfall Dateityp
WordPress erlaubt nicht jeden Dateityp. SVG-Dateien etwa sind standardmäßig gesperrt, und das aus gutem Grund: Eine SVG-Datei kann ausführbaren Code enthalten. Wer sie freischaltet, sollte die Dateien vorher bereinigen und den Upload auf vertrauenswürdige Benutzer beschränken.
Schnelltest über die Kommandozeile
Wenn ein Import über die Kommandozeile funktioniert, liegt das Problem nicht bei den Dateirechten, sondern im Weg über den Browser:
wp media import /pfad/zur/datei.jpg
Das grenzt die Ursache in einem Schritt ein und erspart stundenlanges Rechte-Raten.
Vorbeugen statt suchen
Die meisten dieser Fälle entstehen bei Massenhostern, deren Konfiguration man weder einsehen noch ändern kann. Wir betreiben Kundenprojekte deshalb auf Servern, deren Einstellungen wir kennen — mehr dazu unter Managed Hosting.
Weiterlesen oder fragen
Passt das auf Ihren Fall?
Wenn Sie vor einem ähnlichen Problem stehen und nicht weiterkommen: Schreiben Sie uns kurz, worum es geht.