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.
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.
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.
| Ursache | So prüfen Sie es | Lösung |
|---|---|---|
| Die Größe der Größe läuft aus dem Speicher | Bilder 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 ressourcengedeckt | Site 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 ab | Der 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 aus | Der 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. |
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.
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.
Ü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"));'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
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' ]; } );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
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.
Warum wird das gleiche Bild auf meinen Laptop hochgeladen?
Hilft die Konvertierung in WebP oder JPEG vor dem Hochladen?
Ist das dasselbe, wie der Dateityp nicht erlaubt ist?
Der Fehler ist intermittierend in der gleichen Datei.
War es keiner davon?
Diese Fehler können im Browser ähnlich aussehen.