NeuBlack Friday – 50 % Rabatt auf die erste Zahlung
WordPress-Fehlerbehebung

HTTP-Fehler beim Hochladen von Bildern

Die Datei wurde übertragen, dann scheiterte etwas, während WordPress die Miniaturansichten generierte. Die Nachricht ist die gleiche, egal was das war.

HTTP error.

Kurzantwort

Der Upload selbst funktionierte; der Fehler liegt in der Nachbearbeitung. Versuchen Sie dasselbe Bild bei einer kleineren Pixelgröße — wenn das gelingt, ist die Ursache der Speicher oder die Bildbibliothek und nicht irgendetwas, was mit dem Netzwerk oder dem Dateityp zu tun hat.

Diagnose

Die wahrscheinlichsten Ursachen zuerst.

Gehen Sie die Liste der Reihe nach durch. Prüfen Sie jede Ursache, bevor Sie etwas ändern, da die Lösungen unterschiedlich sind und eine Vermutung mehr Zeit kostet als ein Befehl.

UrsacheSo prüfen Sie esLösung
Die Größe der Größe läuft aus dem SpeicherBilder großer Dimensionen scheitern, während kleine Bilder des gleichen Formats erfolgreich sind. Die Pixelzahl ist hier wichtig, nicht die Dateigröße: Ein 6000 × 4000 PNG benötigt viel mehr Speicher, als seine Megabytes vermuten lassen.Erhöhen Sie memory_limit für die Anfrage. Eine unkomprimierte Bitmap mit Breite × Höhe × 4 Bytes muss in den Arbeitsspeicher passen, bevor sie zurückgeschrieben wird.
ImageMagick fehlt, ist kaputt oder ressourcengedecktSite Health listet kein Bildverarbeitungsmodul auf, oder ImageMagicks eigene policy.xml begrenzt Speicher und Bereich unter dem, was das Bild benötigt.Installieren oder reparieren Sie die Imagick-Erweiterung oder heben Sie die Limits in ImageMagicks policy.xml. WordPress zu zwingen, stattdessen GD zu verwenden, ist der schnelle Workaround, wenn beides nicht möglich ist.
Eine Sicherheitsregel lehnt die Anfrage abDer Upload schlägt sofort statt nach einer Pause fehl, und der Webserver oder das WAF-Protokoll zeichnet eine Ablehnung in dem Moment auf, in dem Sie geklickt haben.Suchen Sie die Triggerregel und befreien Sie async-upload.php für authentifizierte Editoren. ModSecuritys Standardregelsatz ist die übliche Quelle für cPanel-Stacks.
Die Anfrage zeitigt die mittlere Größe ausDer Browser wartet lange und meldet dann den Fehler, und das PHP-Protokoll zeigt an, dass die Anforderung getötet wurde, anstatt sie zu beenden.Erhöhen Sie max_execution_time für Admin-Anfragen oder laden Sie ein kleineres Bild hoch. Mehrere Miniaturgrößen werden in einer Anfrage generiert, so dass die Arbeit die Summe aller ist.
Anleitung

Schritt für Schritt zur Lösung.

Die Befehle setzen WP-CLI und Shell-Zugriff voraus. Jeder Schritt erklärt, was er tut, damit Sie ihn bei Bedarf im Dashboard oder per SFTP ausführen können.

  1. Bestätigen Sie, dass es sich um eine Nachbearbeitung handelt, nicht um eine Übertragung

    Skalieren Sie das gleiche Bild und versuchen Sie es erneut. Ein Erfolg bei kleineren Dimensionen schließt das Netzwerk, die Berechtigungen und den Dateityp in einem Test aus.

  2. Überprüfen Sie, welche Bildbibliothek PHP tatsächlich hat

    WordPress bevorzugt Imagick und fällt zurück zu GD. Zu wissen, welche im Spiel ist, entscheidet, wo man als nächstes suchen.

    php -r 'var_dump(extension_loaded("imagick"), extension_loaded("gd"));'
  3. Lesen Sie die eigenen Grenzen von ImageMagick

    Diese sind getrennt von PHP und sind häufig die eigentliche Obergrenze für Shared Stacks.

    identify -list resource
  4. Force GD, wenn Imagick das Problem ist

    Ein Drop-in-Filter schaltet die Editorimplementierung, ohne den Server zu berühren, was ausreicht, um die Diagnose zu bestätigen.

    add_filter( 'wp_image_editors', function () {
        return [ 'WP_Image_Editor_GD' ];
    } );
  5. Beobachten Sie das Protokoll, während Sie es erneut versuchen

    Einmal hochladen mit geöffnetem Protokoll. Ein Fatal aus der Bildbibliothek und eine Ablehnung von einer WAF sehen nicht gleich aus, und hier werden sie unterscheidbar.

    tail -f wp-content/debug.log
Mit MagicWP

Darum kümmert sich die Plattform.

Beide Bildbibliotheken sind vorhanden und ihre Ressourcenlimits werden gegen den Speicher des Plans gesetzt und nicht bei einer Verteilungsvorgabe, so dass ein großes Foto die Größe ändert, anstatt auf halbem Weg zu sterben. PHP-Limits für Administratoranforderungen werden separat von Front-End-Anfragen angehoben, da das Generieren von sechs Miniaturansichtsgrößen nicht die gleiche Form der Arbeit ist wie das Servieren einer Seite.

Häufige Fragen

Häufige Fragen.

Warum wird das gleiche Bild auf meinen Laptop hochgeladen?
Ein lokaler Stapel hat normalerweise eine viel höhere Speichergrenze und keine WAF davor. Das Bild ist identisch; die Umgebungsverarbeitung ist es nicht.
Hilft die Konvertierung in WebP oder JPEG vor dem Hochladen?
Es hilft, wenn die Ursache Gedächtnis ist, weil die dekodierten Pixeldimensionen mit ihm fallen. Es ändert nichts, wenn eine Sicherheitsregel die Anforderung ablehnt, weshalb der Small-Image-Test an erster Stelle steht.
Ist das dasselbe, wie der Dateityp nicht erlaubt ist?
Nein. Dieser Fehler passiert, nachdem WordPress den Typ akzeptiert und mit der Arbeit begonnen hat. Ein abgelehnter Typ wird im Voraus mit einer Nachricht abgelehnt, die die Einschränkung benennt.
Der Fehler ist intermittierend in der gleichen Datei.
Fast immer Druck im Gedächtnis. Der Upload gelingt, wenn der Prozess Platz hat und scheitert, wenn er nicht funktioniert, also verfolgt er alles, was sonst läuft, anstatt alles über das Bild.