Ich bekomme eine HTTP Error
Nachricht beim Hochladen einer großen jpg-Datei (ca. 30 - 40MB) und ich kann 500 Internal Server Error
Antwort in Chrome sehen dev tools network tab von der async-upload.php
zurückgegeben.WordPress async-upload.php gibt 500 (Interner Serverfehler) nach dem Hochladen einer großen JPG-Datei
Der Fehler tritt auf, nachdem die Datei hochgeladen wurde. Ich kann die Datei im Verzeichnis wp-content/uploads
sehen, so dass das Problem nicht mit dem Hochladen verbunden ist.
Ich nehme an, dass das Problem mit dem Bildgrößenänderungsprozess, der nach dem Hochladen der Datei passiert, zusammenhängt. Ich habe versucht, Thumbnails manuell zu erstellen (unter Verwendung mehrerer Thumbnails-Plugins), um zu beweisen, dass das Problem mit der Größenänderung zusammenhängt. Bei allen konnte die Größe eines großen Bildes nicht geändert werden.
Dinge, die ich vor der Veröffentlichung dieser Frage hat:
- ich die Speichergrenze zu 256 MB in der
php.ini
Datei erhöht haben (memory_limit = 256M
) - gesetzt
post_max_size = 256M
- eine neue WP-Instanz einrichten. Keine Plugins, Standardthema.
- auf einer anderen Maschine getestet (auf VPS, gleiche PHP-Einstellungen)
Ich habe
mod_security
Einstellungen ausgeschaltet:<IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off </IfModule>
Ich habe versucht, auch die Bibliothek Standardbild zu ändern:
add_filter('wp_image_editors', function() { return ['WP_Image_Editor_GD', 'WP_Image_Editor_Imagick']; });
UPDATE:
Ich habe gerade festgestellt, dass der Filter, den ich angewendet habe, nichts getan hat. Ich habe den WP-Quellcode überprüft und festgestellt, dass der Standardwert für diesen Filter lautet: ['WP_Image_Editor_Imagick', 'WP_Image_Editor_GD']
. Ich habe die Reihenfolge geändert, aber ich habe keine Image Magic-Bibliothek installiert, daher hat WordPress die GD-Bibliothek trotzdem verwendet.
Also habe ich die Image Magic PHP-Erweiterung installiert, um es zu versuchen. Ich habe auch den Filter entfernt, weil der Standardwert für mich funktioniert.
Das Ersetzen der GD-Bibliothek mit Image Magic löste das Problem., aber ich bin immer noch neugierig, warum die GD-Bibliothek so große Bilder nicht verarbeiten kann. Gibt es eine Möglichkeit, dieses Problem anders zu lösen? Ich möchte nicht von Bibliotheken Dritter abhängig sein. Ich würde lieber ein Standard-PHP-Setup verwenden (im Falle der Bereitstellung der Site auf einem Shared Hosting, wo es nicht möglich ist, benutzerdefinierte PHP-Erweiterungen zu installieren).
Überprüfen Sie Ihr Fehlerprotokoll auf Fehler.Ein potenzieller Kandidat ist, dass PHP nicht genügend Speicher hatte. – Halcyon
Ich fürchte, es ist kein Speicherproblem. Ich habe sogar versucht, das Speicherlimit auf 512 zu erhöhen. Es gibt nichts im Fehlerprotokoll. Ich überprüfe beide: Apache und PHP Protokolldateien. Ich habe gerade meinen vorherigen Beitrag aktualisiert. Ich habe einen Workaround gefunden - das Ersetzen der GD-Bibliothek durch Image Magick hat geholfen. – wube
Das beweist nichts, vielleicht benötigt GD 513mb. Überprüfen Sie das Fehlerprotokoll und Sie werden sicher wissen, was passiert ist. – Halcyon