Upload Bilder



  • Hallo,

    ich habe versucht, ein Bild für eine Person hochzuladen. Ich bekomme die Meldung "Fehler aufgetreten".
    Daraus kann ich jetzt nicht schließen, woher das käme. Da diese Meldung auch bspw. dann erscheint, wenn ich eine Logo hochladen will, wäre ein Rechte-Problem denkbar.

    Wie in der Anleitung beschrieben ist der sites-Ordner voll beschreibbar. Muss da gesondert noch Rechte vergeben, oder vererben?
    Die Filmgröße wurde ebenfalls nicht überschritten. Welche Formate werden denn in diesem Fall unterstützt?

    Danke für die Rückmeldung.

    Freundliche Grüße
    rrr


  • admin

    @rrr Moin. Was ist mit "Filmgröße" im Zusammenhang mit "Bild für eine Person" gemeint?
    Die Dateiformate stehen direkt beim Upload des Personenfotos dabei:

    Unbenannt.JPG



  • @Andy
    Ich glaube da die Autokorrektur mir einen Streich gespielt. Im Anschluss an das Posten des Themas fiel mir auch auf, dass dort steht, welches Format geht.

    Aber ich habe versucht ein 32x32 png-Bild für das Logo hochzuladen und erhalte den genannten Fehler. Auch bei den Profilbildern ist das so.


  • admin

    @rrr Hier wurde mal ein ähnlicher Fehler besprochen und es wird möglicherweise auch in deinem Fall wieder die Fehlermeldung aus dem Entwicklermodus nähere Aufschlüsse geben.



  • Hier die Fehlermeldung:

    [Log] [uploader] xhr - server response received (fileuploader.js, line 873)
    [Log] [uploader] responseText = {"success":true,"filename":"45f50131823d27f3fe602b8c7870e519.jpg"}[ERROR] file:Unknown:0 Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. (fileuploader.js, line 873)

    [Error] Failed to load resource: the server responded with a status of 404 (Not Found) (undefined, line 0)

    Der versucht irgendwie hierhin das Bild zu laden:
    http://ct.domain.de/sites/ct/fotos/undefined

    Den Ordner gibts aber auf dem FTP-Server nicht.


  • admin

    @rrr Damit kann @jmrauen bestimmt was anfangen. :)



  • Ok, @Andy - also der Upload funktioniert ... fast!

    Beispielsweise wird das o.g. File "45f50131823d27f3fe602b8c7870e519.jpg" zwar nach http://ct.domain.de/sites/ct/fotos/ hochgeladen. Jedoch kommt es immer zu dem Fehler in der Upload-Maske und es findet keine Verknüpfung von in diesem Fall dem Profilbild statt.

    Vielleicht weiß da @jmrauen wirklich weiter?
    Denn der Upload scheint ja nur "so halb" das Problem zu sein...


  • ChurchToolsMitarbeiter

    @rrr Kannst Du sagen welche Version Du verwendest? Ich habe gerade in der letzten Version 2.54 einige hilfreiche Fehlermedlungen ergänzt, wenn es zu Problemen kommen sollte.



  • @jmrauen Danke für die Rückmeldung.
    Wir verwenden die Version 2.54.

    "Mini-Screencast" in Kürze hier.



  • @jmrauen
    Gibts hier eventuell schon ein Update?


  • ChurchToolsMitarbeiter

    Also laut Deiner Angabe ist die Datei da? Aber dann kann es ja nicht sein, dass er ein 404 meldet.

    Hat der Apache wirklich Schreibrechte auf Dein Foto-Ordner?



  • Also ich habe hier das gleiche Problem (Churchtools 2.55).
    Schreibrechte auf dem Foto Ordner sind vorhanden.

    [uploader] responseText = {"success":true,"filename":"c7149b952b984e54c50649d735038123.jpg"}
    [ERROR] file:Unknown:0 Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead.

    LG
    Jürgen


  • ChurchToolsMitarbeiter

    Hast Du mal die Einstellung always_populate_raw_post_data probiert? Hat es eine Auswirkung?



  • Habe das selbe Problem beim Upload eines Logos mit v2.55. Allerdings habe ich keinen Zugriff auf die php.ini und kann somit nicht always_populate_raw_post_data auf -1 setzen, oder gibts es einen Workaround?



  • Habe ebenfalls Probleme mit dem Bilder-Upload. Möchte gerne ein "Logo der Webseite" uploaden und kriege immer einen Fehler.
    Im Entwicklermodus gibt es mir folgendes aus:

    "[uploader] xhr - server response received" fileuploader.js:873:51
    "[uploader] responseText = " fileuploader.js:873:51
    Leerer String an getElementById() übergeben.

    Mache ich was falsch?


  • ChurchToolsMitarbeiter

    Bitte mal versuchen bei einer Person ein Bild hochzuladen, gibt es da eine Fehlermeldung?
    Bin gerade an 3.0 eine andere Komponente für das Upload zu nutzen, ich hoffe das damit die Probleme gelöst werden:)



  • @jmrauen Hab ein Bild 3,3 MB .jpeg bei uns hochgeladen und es kam keine Fehlermeldung.



  • @jmrauen Habe beim Upload eines Bild bei einer Person ebenfalls keine Fehlermeldung.
    Habe es mit dem selben Bild versucht, das ich auch als Logo hochladen wollte.


  • ChurchToolsMitarbeiter

    Was meint Ihr mit "keiner Fehlermeldung". Also hat es geklappt?
    Wenn es nicht geklappt hat, was steht denn in der Fehlerkonsole?



  • Mir scheint, es ist das altbekannte Problem durch die verwendete Art der Fehlerbehandlung von CT. Dadurch ist es nicht möglich irgendwelche php Fehlermeldungen per error reporting auszuschalten. Ich hatte damals nur die Wahl, das im Quelltext zu ändern, da ich auch keine Möglichkeit hatte, die Servereinstellungen zu ändern, um deprecated ini Fehler zu entfernen.

    Diese Fehler dürften nicht an allen möglichen oder unmöglichen Stellen ausgegeben werden.



  • @jmrauen Mit dem runterschrauben der "Maximale Upload-Dateigrösse" hat der Upload der Bilder bei mir funktioniert - Bild bei Person und auch Logo.



  • @jmrauen es ist nicht aufgetaucht und das Bild war dann bei der Person sichtbar



  • @rschi sagte:

    @jmrauen Mit dem runterschrauben der "Maximale Upload-Dateigrösse" hat der Upload der Bilder bei mir funktioniert - Bild bei Person und auch Logo.

    Auf welchen Wert hast du die Maximale Upload-Dateigröße runtergeschraubt?
    Ich habe verschiedene Werte probiert und bin jetzt bei 1 MB.
    Noch weiter runter?

    Danke.



  • @chs Bei mir ist es nun auf 5000.
    Es kommt aber glaub auf die Einstellung auf dem Webserver drauf an. --> Muss einfach kleiner sein, glaube ich.


  • admin

    @rschi ... bzw. identisch, genau.



  • Habe exakt dasselbe Problem...

    Fehlermeldung nach Bildupload:
    GET http://churchtools.domain.de/sites/churchtools/fotos/undefined 404 (Not Found)
    Bild wurde korrekt hochgeladen, wird aber nicht angezeigt
    CT v2.56
    post_max_size = 48M
    upload_max_filesize = 32M
    Maximale Upload-Dateigröße in CT: 1000 (= 1 MB)

    Hatte noch jemand eine andere Lösung dafür?

    Danke!

    Viele Grüße
    Sebastian


  • admin

    @S54632 sagte:

    Maximale Upload-Dateigröße in CT: 1000 (= 1 MB)

    Standardwert an der Stelle ist wohl 10000 = 10 MB. Auch schon probiert?



  • Ja, hatte ich auch. Nachdem andere sagten, dass es helfen könnte, habe ich es in meiner Verzweiflung eben weiter reduziert (wohl wissend, dass das nichts bringen wird).



  • Hallo zusammen,

    mich plagt dieser Fehler nun auch schon eine Weile, und ich wäre allen sehr verbunden, wenn sie mit diesen an Alchemie grenzenden Vorschlägen zur Upload-Dateigröße aufhören würden, nichts für ungut.
    Das runtersetzen der Upload-Größe verursacht nur genau das, was man erwartet: Es verhindert den Upload großer Dateien. ^^

    Mein Kenntnisstand ist bisher wie folgt:

    • Der Fehler tritt nur in PHP 5.6 auf und kann je noch Sichtweise als Bug oder Feature dieser Version bezeichnet werden.
    • Königsweg zum Umschiffen ist der Eintrag "always_populate_raw_post_data = -1" in der php.ini
    • Hat man keinen Zugriff auf die php.ini, sollte man in die .htaccess-Datei im root von Churchtools folgendes einfügen:
      php_value always_populate_raw_post_data -1
      (Blöderweise hat das bei mir nicht geklappt, Fehler kommt weiter.)

    Vorschläge? Das schließt die Programmierer mit ein? ^^

    Liebe Grüße,
    Michi



  • This post is deleted!


  • OK, jetzt muss ich aber doch etwas unsanft Kritik am Progammierstil von CT üben.
    Ich habe vorhin einen "Patch" geschrieben der alle Ausgaben nach der richtigen unterdrückt und war ausgesprochen überrascht, dass er funktioniert.
    Daraufhin habe ich mal nach "Shutdown-Handlern" im Code gesucht (PHP-Entwickler wissen, was ich meine) und bin auf folgendes gestoßen:

    function handleShutdown() {
    global $ajax;
    $error = error_get_last();
    if (!$ajax && $error !== NULL && $error['type'] !== E_DEPRECATED) { // no Error notizes on ajax requests!
    $info = "[ERROR] file:" . $error['file'] . ":" . $error['line'] . " " . $error['message'] . '' . PHP_EOL;
    echo '' . $info . '';
    }
    }

    und gleich darüber:

    $ajax = false; // to find out if its an ajax call

    Ist das euer Ernst?
    Ihr rotzt den letzten Fehler einfach mit dem Request raus?
    Ohne aktiven Entwicklermodus und ohne jede Not?
    Sowas loggt man in die Datenbank oder in ein Log-File. Wenn's arg drückt kann man mit header('X-Error: '); einen eigenen Header für den Error verwenden. Aber sowas?
    Ich hoffe ihr patcht das noch oder habt das in den letzten 2 Minor Releases, die ich noch nicht bekommen habe, bereits gemacht.
    Das Minimum wäre, diese komplette Prozedur nur im Entwicklermodus auszuführen.

    Liebe Grüße,
    Michi

    Edit: Der letzte Teil oben im if (ich meine "&& $error['type'] !== E_DEPRECATED") ist mein vorläufiger Patch, aber das ist sicher nicht der Königsweg!



  • Hallo zusammen,

    wie sieht's mit einem Patch für dieses "Missgeschick" aus?

    LG,
    Michi



  • @jmrauen Bei mir wird ebenfalls nach dem Upload eines Bildes in der cdb "Fehler aufgetreten" angezeigt. Allerdings ist das Foto auf den Server hochgeladen worden, aber nicht mit der Person verknüft. Alle oben beschriebenen Lösungen funktionieren nicht. Bei mir läuft PHP 5.6 als Apache-Modul mit CT 2.57



  • Hallo zusammen!
    Nachdem jetzt immer noch keine Reaktion seitens der Entwickler zu verzeichnen war, habe ich nun einen Pull-Request auf GitHub erstellt.
    Diejenigen, die nicht auf die nächste Version warten wollen, können meinen Patch hier herunterladen:
    https://mega.nz/#!c4El1bqS!RZuDyEuTiBhfKIbA9lQDni-ja0YG7aJk7cm9y4rJ7Bg

    Anleitung:

    • Die Datei "start.php" unter system/includes/ von "start.php" auf "start_backup.php" umbenennen
    • Die "start.php" aus dem Mega-Link an dieser Stelle einfügen

    Sollte jemand auf Probleme mit dem Patch stoßen, schreibt es mir bitte unter michi [dot] lux [at] gmail [dot] com.


Log in to reply