2016-05-06 10 views
1

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).

+0

Überprüfen Sie Ihr Fehlerprotokoll auf Fehler.Ein potenzieller Kandidat ist, dass PHP nicht genügend Speicher hatte. – Halcyon

+0

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

+0

Das beweist nichts, vielleicht benötigt GD 513mb. Überprüfen Sie das Fehlerprotokoll und Sie werden sicher wissen, was passiert ist. – Halcyon

Antwort

2

Wenn Sie die PHP-Version aktualisiert haben. Dies könnte dazu führen, dass das alte Plugin dies tut. Das Gleiche ist bei mir passiert. Ich habe php 5.6 auf PHP 7 aktualisiert und der gleiche Fehler ist aufgetreten. Wenn ich PHP 5.6 neu installiere, fing es an, normal zu arbeiten.

0

Dies ist ein Serverfehler. Wenn Sie php.ini oder .htacess nicht ändern, versuchen Sie, eine PNG-Datei hochladen. Diese Tricks funktionieren für mich!

enter image description here