File grösser als 2 GB hochladen

  • Affected App
    WoltLab Suite Gallery

    Hallo,

    wenn ich ein File hochladen will das grösser als 2GB ist (die PHP.ini Einstellungen sind korrekt für solche grossen Files) bekomme ich diesen Fehler.

    Files bis 1,9 GB gehen problemlos.

    Hat jemand eine Ahnung wie man das beheben kann ?

  • Das scheint wohl nicht zu klappen, wird wie bei der WL Filebase auf 2 GB begrenzt zu sein.


    Wieso will man das via php hochladen?

    Ganze per ftp hochladen und via link einbinden.

    Halte ich da sinnvoller

    Vielleicht hat aber nicht jeder vor, seinen Usern, FTP Zugang zu geben, das mag sicherlich sinnvoller sein, wenn man als Betreiber oder auf die Administration die Uploads beschränkt. ;)

    Greetz

    Dark

    Mit dem Ende naht der Anfang mit etwas Neuen, um dann wieder zu sagen „Nach dem Update ist vor dem Update“. :S

  • Per FTP wäre für mich ja kein Problem aber für einige Mitglieder die Videos hochladen möchten eher nicht. Das lasse ich. Würde da auch keinen FTP-Account einräumen.

    Ich habe nun den Datentyp der Spalte geändert von INT auf BIGINT. Nun geht der Upload ohne Probleme. Danke für den Typ Hanashi

  • Das sollte normalerweise dann bestehen bleiben. Bei Updates werden üblicherweise ja nicht laufend bestehende Tabellen oder einzelne Spalten/Datenfelder überschrieben. Bestenfalls in großen Abständen mal neue angelegt oder einzelne Werte geändert.

    Aber selbst WENN genau das INT an dieser Stelle mal Update-betroffen wäre, könnte man das ja schnell wieder ändern.

    Ob das in allen Fällen eine sinnvolle Empfehlung ist, ist dann wieder eine andere Frage. Manche Begrenzungen haben ja auch durchaus ihre Berechtigung. ;)

    Ebenso wie man ja auch PHP nicht endlos große Rechte einräumt.

    Gruß
    Jörg
    (Jaydee)

  • Im ACP kann man ja jede Grösse der Files für die Benutzergruppe einstellen. Es ist also nicht limitiert. Bei grossen Files kommt es allerdings wie gesagt zur Fehlermeldung. Somit ist es schon komisch.

    Mir persönlich ist es nun allerdings egal da es nach meiner Anpassung in der Datenbank nun alles einwandfrei geht.

  • Im ACP kann man ja jede Grösse der Files für die Benutzergruppe einstellen. Es ist also nicht limitiert.

    Falsch und falsch. ;) Das beste ACP einer Software nutzt nichts bzw. kann sich nicht über die Begrenzungen "hinwegsetzen", die eine Datenbank bzw. Feldtypen setzen.

    Da kannst Du eintragen was Du willst, es wird bestenfalls (z.B bei einem 16 oder 32 bit INT) zu einem Überlauf führen, mehr nicht.

    Dafür gibt es BIGINT mit einer theoretischen Begrenzung von erst 2n−1 − 1 bzw. 2n − 1.

    Erst wenn das gesetzt ist, könnte auch ein ACP höhere Werte sinnvoll zulassen.

    Grundsätzlich stellt sich aber auch die Frage, ob man überhaupt derart große Daten dort speichern muss, genauer gehören binary dates überhaupt nicht in eine MySQL Datenbank, da diese konzeptionell gar nicht dafür ausgelegt sind.

    Zumindest nicht, wenn es sich z.B. um größere Bild- oder Videodaten handelt.

    Dafür gibt es ein File-System auf jedem Server.

    Das kleinste Problem dabei sind noch übermäßig aufgeblähte Datenbanken, deren Sicherung noch dazu ewig lange dauern und viel zu große große Dumps erzeugen.

    Vorhersehbare Table-Crashes sind noch viel wahrscheinlicher und auch die Performance ist dadurch nicht immer die beste.

    In der Vergangenheit wurden viele Probleme bei Betreibern sofort behoben, nachdem sie binäre Daten von dort in das File-System umgelagert und dadurch nicht nur die DB "verschlankt" hatten.

    Gruß
    Jörg
    (Jaydee)

  • Grundsätzlich stellt sich aber auch die Frage, ob man überhaupt derart große Daten dort speichern muss, genauer gehören binary dates überhaupt nicht in eine MySQL Datenbank, da diese konzeptionell gar nicht dafür ausgelegt sind.

    Zumindest nicht, wenn es sich z.B. um größere Bild- oder Videodaten handelt.

    Dafür gibt es ein File-System auf jedem Server.

    Die Dateien selbst werden nicht in der Datenbank gespeichert, wohl aber deren Dateigröße.

  • Die Dateien werden natürlich nicht in der Datenbank gespeichert. Wie kommt du auf sowas ?

    Der Abschnitt war ganz allgemein gemeint, gewissermaßen "prophylaktisch".

    Du hattest ja ganz oben nur allgemein von einem (übergroßen) File gesprochen, daher war/ist nicht bekannt, um welche Art genau es sich dabei handelte. .

    Und leider gibt es tatsächlich etliche Betreiber, die z.B: Anhänge im GB-Bereich oder/und ganze Galerien in einer DB speichern lassen.

    Daher nur vorsichtshalber die Empfehlung, das möglichst nicht zu tun, auch wenn einige Software diese Wahlmöglichkeit lässt.

    Gruß
    Jörg
    (Jaydee)

  • Achso, Ok.

    Es ging bei mir nur den Wert der Dateigrösse in der DB. Mehr nicht.

    Alles in der DB zu speichern bei Bildern und Videos würde ich niemals wollen/nutzen. Nur ein paar Werte da drin und gut.

  • Hallo,

    mit WoltLab Suite 6.0 heben wir die Systemvoraussetzungen an, sodass die Verwendung einer 64-Bit-Version von PHP von Nöten ist, damit können dann auch Berechnungen mit Werten größer als etwa 2,1 Milliarden korrekt durchgeführt werden. Den Typen der Datenbankspalten für die Dateigröße von Filebase-Dateien und Galerie-Videos haben wir bereits auf BIGINT angepasst, sodass diese jetzt auch Dateigrößen von mehr als etwa 2 GB speichern können.

    Für Entwickler: Die genauen angepassten Systemvoraussetzungen sind in der Entwickler-Dokumentation hinterlegt. Wir empfehlen, von verfügbaren Verbesserungen durch die angepassten Systemvoraussetzungen Gebrauch zu machen und insbesondere auch zu prüfen, ob Spalten in eigenen Plugins auf BIGINT umgestellt werden können oder sollten.

  • Tim Düsterhus December 14, 2022 at 4:28 PM

    Added the Label 6.0.0 Beta 1
  • Tim Düsterhus December 14, 2022 at 4:28 PM

    Set the Label from Not a bug to Fixed

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!