Riesen Problem ( durch Sprachdateien?)

  • Hallöchen,

    ich habe ein dickes Problem mit meiner WP Installation. Und zwar bekomme ich im Backend IMMER einen HTTP Error wenn ich eine Datei in die Mediathek (also ein Bild) laden will. UploadSize ist 200MB und die Abmessungen hab ich auch schon raufgesetzt.

    Inzwischen, nachdem ich 2 Tage rumexperimentiert habe, konnte ich feststellen, dass sich das Problem lösen lässt, wenn ich alle DE Language Files meiner Plugins lösche. Obwohl in der wp-config.php de_DE eingetragen ist. Weiterhin habe ich einige Plugins löschen müssen um das Problem loszuwerden.

    Nun dachte ich, dass der Fehler an diesen Plugins lag und wollte die deutschen Sprachdateien wieder einspielen. Ich habe mit denen für buddypress und bbpress begonnen, sie aber direkt wieder gelöscht, weil ich wieder einen HTTP Fehler bekam.

    Ich bin nun schon tierisch frustriert vom WP. Bisher hatte ich keine Probleme. Hatte aber auch noch nie so viele Plugins die miteinander zusammenarbeiten müssen in einer WP Installation. Ich weiss jetzt ehrlich gesagt auch nicht mehr weiter und könnte dringend ein paar gutre Tipps für meine Communityseite brauchen.

    Viele Grüße

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Tja...
    HTTP Fehler

    ...das wars auch schon.
    Er tritt immer beim Upload von Bildern auf. Allerdings wird das Bild hochgeladen, doch bevor im "Balken" "Crunching..." (weiss jetzt nicht was da in deutsch stehen würde) kommt, kommt entweder "HTTP Fehler" oder es kommt gar nix und der Balken bleibt bei ~90% stehen. Ich würde ja vermuten, dass irgendwie ein Problem beim erstellen der Thumbnails auftritt, da das Bild dann in der Medienübersicht da ist, aber ohne Thumb.

    Einmal editiert, zuletzt von Apokh (19. Februar 2014 um 20:36)


  • Inzwischen, nachdem ich 2 Tage rumexperimentiert habe, konnte ich feststellen, dass sich das Problem lösen lässt, wenn ich alle DE Language Files meiner Plugins lösche. Obwohl in der wp-config.php de_DE eingetragen ist. Weiterhin habe ich einige Plugins löschen müssen um das Problem loszuwerden.

    Warum? Oder wie bist du auf die Idee gekommen, dass wildes löschen von Scripten dir bei einem Upload (HTTP-Fehler) helfen könnte?


    Nun dachte ich, dass der Fehler an diesen Plugins lag und wollte

    Warum machst du Ratestunden?
    1. beseitige alle Meldungen von anderen Pluigins - hier auch die meldung von deinem Event Plugin.
    2. Schalte den Debug ein

    ~/wp-config.php

    PHP
    define('WP_DEBUG', true);

    prüf deine Bilddatei. d.h. öffne die Datei zum Beispiel in Gimp (nicht Photoshop) oder in einem Webbrowser.

    Welche Plugins (für Bilder) verwendest du? es gibt ja da so einige merkwürdige Wordpress Plugins, die wollen die Bilddaten noch zusätzlich optimieren... mit php :( auch diese können zu einem http Fehler führen.



    Ich bin nun schon tierisch frustriert vom WP.

    Dann würde ich mir ein anderes Programm suchen...

    Mit offenen Augen träumen

  • UploadSize ist 200MB und die Abmessungen hab ich auch schon raufgesetzt.


    Wüsste nicht, dass WP erweiterte Fehlermeldungen anzeigen kann, habe mich aber da noch nicht intensiver damit beschäftigt und kann mich deshalb irren.

    Fehlermeldungen erklärt:
    http://www.php.net/manual/de/features.file-upload.errors.php

    Häufige Probleme
    http://www.php.net/manual/de/feat…on-pitfalls.php


    Zitat

    Der mit MAX_FILE_SIZE eingestellte Wert kann nicht größer sein als der des ini-Parameters upload_max_filesize. Der Standardwert ist 2 Megabyte.

    Wenn Du Dir das richtig durchliest unter 'Häufige Probleme', dann haben Deine Einstellungen im günstigsten Fall keine Auswirkungen und im ungünstigsten Fall führen diese Änderungen zu einer Verschlechterung.

  • Da laut TE die Bilder ja hochgeladen werden, wird es wohl nichts mit dem Upload selbst zu tun haben.
    Es dürfte eher beim nachgeschalteten Erstellen der Thumbnails und Bilder in anderen Größen klemmen. Das hängt in der Regel mit dem PHP-Speicherlimit zusammen. Das deaktivieren von Plugins bzw. der Verzicht auf die deutschen Sprachdateien spart natürlich Speicher ein, so daß es dann wieder funktioniert.

    Apokh
    Wer ist denn Dein Webhoster und welches Hostingpaket hast Du dort?

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Könnte ich mir durchaus vorstellen, doch warum wird dann ein HTTP-Fehler ausgegeben?
    Werden die üblichen Speicher-Limit-Warnungen dabei unterdrückt und mit HTTP-Fehler ist dann nur gemeint, dass nicht mehr so große Dateien übertragen bzw. hochgeladen werden sollen?

  • Ich vermute mal, daß das einfach ein allgemeine Fehlermeldung ist.

    Der Multi-Uploader läuft ja mittels JavaScript und ruft das eigentliche PHP-Upload-Skript im Hintergrund auf. Tritt nun so ein Speicherproblem auf, wird das PHP-Upload-Skript z.B. mit einem HTTP-500 Statuscode beendet, was das JavaScript dann einfach als HTTP-Fehler meldet.

    Oder anders gesagt, daß PHP-Upload-Skript kommt gar nicht mehr dazu, etwas Sinnvolles als Antwort an das JavaScript zurück zu geben, weil es bereits vorher wegen des Speichermangels abgebrochen wird.

    Diese Probleme hatte ich früher besonders bei 1&1, wo der Speicher mit ca. 30M ja lange Zeit sehr knapp bemessen war. Ich meine mich zu erinnern, daß da auch einfach ein HTTP-Error angezeigt wurden bzw. der Uploader gar nichts gemeldet hat und im Status "Wird verarbeitet..." stehen geblieben ist.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • , was das JavaScript dann einfach als HTTP-Fehler meldet.


    Habe mal einen Test gemacht und halte es augenblicklich mehr für die begrenzten Möglichkeiten von PHP, es sei denn Dir fällt noch etwas mehr ein als mir:

    Wobei ein Statuscode sich ja eigentlich auch nur auf die Erreichbarkeit der Seite und nicht auf den Upload beziehen würde. Die erste Funktion gibt es wohl ab PHP 5.4 und ich benutze noch 5.3.8

    Einmal editiert, zuletzt von Melewo (20. Februar 2014 um 13:36)

  • Melewo

    Ich verstehe jetzt nicht so ganz, oder besser gesagt gar nicht, was Du mir mit dem Beispiel sagen willst.

    Ich meinte eigentlich nur, daß ja das Upload-JavaScript das eigentliche PHP-Uploadskript aufruft und falls dieses, aus welchen Gründen auch immer, mit einem Statuscode ungleich 200 beendet wird, das einfach als HTTP-Fehler meldet. Mehr nicht.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Weil mir nichts dazu einfiel, wie sich ein Statuscode vom Upload überhaupt abgreifen lassen sollte. JavaScript weiß nicht, was auf dem Server los ist und PHP kann eigentlich nur feststellen, ob ein Upload erfolgte und was im Datei-Array als Error-Meldung vorhanden ist und da scheint doch kein Statuscode enthalten zu sein. In den Logs wird auch nur erwähnt, dass die Seite mit dem Formular aufgerufen wurde.

  • Genau das meine ich ja. Das Javascript kann bestenfalls überprüfen, welchen Statuscode das PHP-Skript zurückgibt. Deshalb wird dann einfach beim Statuscode ungleich 200 dieser allgemeine HTTP-Fehler angezeigt.

    Anders wäre es, wenn das PHP-Skript mit "200 OK" zurückkommt. Dann könnte man im JavaScript auch den Inhalt auswerten, wenn der vom PHP-Skript z.B. einfach als Plain-Text ausgegeben wird. Oder meinetwegen als JSON.

    Bei einem Speicherfehler bricht das PHP-Skript aber ab, bevor dieser eigentliche Status zurück gegeben wird und so kann das JavaScript den Fehler nicht präzisieren.

    Wie auch immer, das Problem des TE dürfte PHP-Speichermangel sein.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Und die Meldung ist notiert in de_DE.po:

    #: wp-includes/script-loader.php:231
    msgid "HTTP error."
    msgstr "HTTP-Fehler."

    In der Datei wp-includes/script-loader.php befindet ein Array und in diesem Array ist in Zeile 231 'http_error' => __('HTTP error.') enthalten.

    Meine Suche nach dem eigentlichen Schlüssel 'http_error' liefert dazu Treffer in:

    /wp-includes/js/plupload/handlers.js
    /wp-includes/js/plupload/handlers.min.js
    /wp-includes/js/plupload/plupload.html5.js
    /wp-includes/js/plupload/plupload.js
    /wp-includes/js/plupload/wp-plupload.js
    /wp-includes/js/plupload/wp-plupload.min.js

    Wobei die sich eventuell darauf beziehen könnten, was Ajax als http_request.readyState Wert von 0 bis 4 oder als Response erhält. Doch da jetzt noch tiefer einzudringen, dazu verspüre ich gerade kein Verlangen.

    Jedenfalls könnte es durchaus sein, dass die Meldung sich nicht auf einem HTTP-Statuscode bezieht, sondern auf einem Code von Ajax, weil der Server wegen fehlendem Speicher das Handtuch warf und Ajax keine Antwort mehr erhält. Ob es sich so verhält, ist eine andere Sache, wird sich aber wohl so in etwa verhalten.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!