it-swarm.com.de

Wie HTTP-Fehler beim Hochladen von Bildern zu beheben?

Ich benutze WordPress 3.4.1 unter Ubuntu 12.04 mit Apache und PHP 5.3.X

Wenn ich mich im Dashboard anmelde und einen neuen Beitrag hinzufüge. Versuchen Sie dann, ein Bild hochzuladen, um es als ausgewähltes Bild festzulegen. Ich erhalte ein rotes Kästchen mit der Meldung "HTTP-Fehler".

Ich habe über Leute gelesen, die sagten, sie sollten den Flash-Uploader nicht und nur den Browser-Uploader verwenden, aber wenn ich das versuche, erhalte ich nur einen 500 Internal Server Error.

Ich habe versucht, AddType x-mapp-php5 .php oben in meine .htaccess-Datei einzufügen, ohne dass Änderungen vorgenommen wurden.

Das Deaktivieren ALLER Plugins hatte keine Auswirkung. Ich habe versucht, eine neue Installation. Kein Glück.

Update 17.10.2016 - Wenn Sie benutzerdefinierte Rollen oder Funktionen verwenden, versuchen Sie es mit einer systemeigenen Rolle/Funktionen und versuchen Sie es erneut.

Dinge zu prüfen,:

  • Dateieigentum
  • Dateiberechtigungen
  • .htaccess Konfiguration
  • PHP Version 7+
  • WordPress Aktuelle Version

Wenn Sie hinter einem Proxy arbeiten, stellen Sie sicher, dass die Zeitüberschreitungen für den Proxy-Server korrekt konfiguriert sind.

WordPress 3.4.1 Media Upload HTTP Error

28
Michael Ecklund

Nach der Fehlerbehebung mit @Wyck im Chat haben wir uns auf das zugrunde liegende Problem beschränkt.

Das Problem hing mit meiner Serverkonfiguration zusammen, bei der Apache/PHP nicht genügend Speicher zugewiesen wurde.

Wenn jemand das gleiche Problem hat, überprüfen Sie bitte, ob in Ihren Serverkonfigurationseinstellungen genügend (64 MB +) Serverspeicher für Apache/PHP verfügbar ist. Sie können dies auch zu Ihrer wp-config.php-Datei hinzufügen:

define('WP_MEMORY_LIMIT', '64MB');

Wenn die obige Lösung nicht funktioniert, lesen Sie den Artikel Probleme mit Image/Media Uploader?, um weitere Informationen zur Fehlerbehebung zu erhalten.

Versuchen Sie, der .htaccess-Datei im Stammverzeichnis Ihrer WordPress-Installation nacheinander eine oder alle der folgenden .htaccess-Änderungen hinzuzufügen.

Im Ernst, probieren Sie eine der folgenden Lösungen aus, damit Sie wissen, welche den Trick ausgeführt hat. Fügen Sie sie nicht alle sofort in Ihre .htaccess-Datei ein.

Versuchen Sie diese Zeile:

AddType x-mapp-php5 .php

mod_security könnte Probleme verursachen. Deaktivieren Sie es, um festzustellen, ob dies das Problem ist. Erstellen Sie dazu eine .htaccess-Datei in Ihrem wp-admin-Verzeichnis. Fügen Sie dies hinzu:

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

Wenn Sie die Zugriffskontrolle basierend auf der Authentifizierung auf Ihrem Webserver verwenden (häufig als htpasswd, Basisauthentifizierung, kennwortgeschütztes Verzeichnis oder ähnliches bezeichnet), kann WordPress diese für Flash Uploader, Cron und XMLRPC nicht verarbeiten. Verwandte Dateien müssen ausgeschlossen werden, um zu funktionieren. Beachten Sie, dass dies Ihre Sicherheitsüberlegungen verletzen kann.

# Exclude the file upload and WordPress CRON scripts from authentication
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>

Ein letzter Hinweis: Einige haben gesagt, dass Sie bei Verwendung einer niedrigeren Version von PHP 5.3.X versuchen können, den PHP abgesicherten Modus zu deaktivieren.

Wenn Sie WordPress mit mehreren Sites ausführen und HTTP- oder interne Serverfehler im Zusammenhang mit dem Hochladen von Bildern erhalten, lesen Sie bitte Das Hochladen von Bildern auf mehrere Sites führt zu einem Fehler bei HTTP ) Fehlerbehebung bei Ideen und Lösungen.

21
Michael Ecklund

Ich habe den folgenden Code in meine functions.php-Datei eingefügt. Es klappt!

add_filter( 'wp_image_editors', 'change_graphic_lib' );

function change_graphic_lib($array) {
  return array( 'WP_Image_Editor_Gd', 'WP_Image_Editor_Imagick' );
}

Dies liegt daran, dass das PHP Codemodul geändert wird, das für die Verarbeitung des hochgeladenen Bildes zur Verwendung mit WordPress verwendet wird.

Diese Verarbeitung umfasst das Verschieben des Bilds in die Medienbibliotheksdatenbank und das Generieren von Bildern unterschiedlicher Größe ("Miniatur", "Mittel", "Groß"), auf die WordPress immer zugreifen soll.

Es bewirkt, dass das "Gd" -Modul verwendet wird, da es das erste ist. In einigen Serverkonfigurationen funktioniert die neuere "Imagick" -Bibliothek in bestimmten Bildszenarien, z. B. bei großen Pixelabmessungen, nicht gut mit anderen. Daher ist es eine Korrektur, die Verwendung der "Gd" -Bibliothek zu erzwingen.

24
Allen

Beim Versuch, Medien in WordPress hochzuladen, trat derselbe Fehler auf. In Chrome wird es als http: error angezeigt. in Firefox sieht der Fehler ganz anders aus. Das Web ist voller Geschichten von Menschen, die Tage damit verbracht haben, den Bug zu jagen (so habe ich :-(). Lösungen gibt es zuhauf, aber niemand erklärt, warum, zumindest nicht in einer Weise, die mit den Symptomen übereinstimmt.

Mein tuppence würdiger Beitrag: Ich bemerkte, dass das Problem mit einem Segmentierungsfehler zusammenhängt, der in der Protokolldatei von Apache2 angezeigt wird. Das stört mich, weil es schwer zu diagnostizieren ist.

Durch einen Neustart des gesamten Servers wurden alle Symptome beseitigt, und plötzlich konnte ich Medien in Wordpress erneut hochladen. Frustrierend ist, dass ich keine Ahnung habe, warum dies geschieht. Der Neustart hat mich effektiv von weiteren Nachforschungen abgehalten, und ich muss jetzt warten (Wochen? Monate?), Bis das Problem erneut auftritt. Ich hoffe, dies wird anderen bei ihrer Suche nach der Ursache dieses Problems helfen. Meine Frau ist jedoch glücklich, weil ich nicht länger Nächte damit verbringen kann, diesem Problem nachzujagen ...

4
Stef Joosten

Ich habe dieses Problem behoben, indem ich meinen Besitzer von root in Apache geändert habe (siehe unten).

chown -R Apache: apache/var/www/html/mydomain

Und dann habe ich die Erlaubnis des wp-content/uploads/ zu 775 geändert.

Danach habe ich versucht, ein Bild in die Medien hochzuladen. Ich konnte das Bild erfolgreich hochladen.

1
imran

Ich hatte das gleiche Problem. Ich habe verschiedene Korrekturen versucht, darunter das Ändern des Standard-Imageprozessors von PHP Gd zu ImageMagick mit dem Force Image Magick Plugin

Dies hat beim HTTP-Fehler/500-Fehler geholfen, aber es wurden keine Thumbnails mehr generiert. Ich habe dann das Plugin wieder deaktiviert und was mir dann geholfen hat war diese Antwort auf die Frage Sieht so aus, als würde die Bildgrößenänderung nicht gut funktionieren . Mein PHP_MEMORY_LIMIT wurde auf 160MB gesetzt. Dies ist das absolute Maximum, das mein Hoster zulässt.

Beim Hochladen von Bildern ergab sich eine maximale Bildgröße von etwa 6000 x 6000 px, wenn PHP Gd verwendet und Thumbnails generiert wurden. Daher ist es wichtig, nicht nur die Dateigröße, sondern auch die Abmessungen des Bildes zu überprüfen. Das Hochladen eines Bildes mit höheren Abmessungen führte selbst bei kleinen Dateigrößen zu einem HTTP-Fehler/Fehler 500.

0
intagli