UPLOAD_MAX_FILESIZE 2GB-Limit Bug

Bash, Shell, PHP, Python, Perl, CGI
andixx
Posts: 2
Joined: 2012-02-20 07:46

UPLOAD_MAX_FILESIZE 2GB-Limit Bug

Post by andixx » 2012-02-23 07:49

Hi.

Ich wollte einen Upload bauen mit dem ich auch größere Files (z.b. 5GB große Backups) hoch laden kann. Da ich kein flash, java, silverlight, whatever benutzen will hab ich mir mit jquery nen XHR Uploader gebaut der auch prima funktioniert.

So weit so gut, also via php_value im vhost die Limits ordentlich aufgebohrt, Apache noch LimitRequestBody auf unlimited gesetzt aber files über 2 GB kommen nicht beim script an. $_FILES enthält nur noch den Original Dateinamen, das tmp_file ist futsch, keine fehlermeldung, selbst auf loglevel debug nicht. Ich könnte das zwar umgehen indem ich den upload mit chunks mache aber der aufwand ist mir zu groß.

Nun hab ich heraus gefunden es handelt sich um einen Bug der seit 2009 wohl nicht gefixt wurde. Die Kurzschreibweisen in der config (z.b. 256M oder 5G) werden umgewandelt und in einem integer abgelegt. Mein upload_max_filesize (und post_max_size) mit 5 GB ist mit ihren 9 Nullen leider zu groß für integer also ist der Upload auf die zahl beschränkt die in die variable passt (was um die 2 GB ist).

Hier mal das (offene) Ticket dazu: https://bugs.php.net/bug.php?id=44522

Die dort angebotenen Patches (von typ int auf long ändern) sind leider für eine ältere Ubuntu version. Ich habe versucht die Änderungen in dem Patch auf Debian squeeze von hand durchzuführen bevor ich mir ein php compiliere aber es hat nicht funktioniert. Zugegeben, das übersteigt auch schon ein wenig meine Skills.

Im moment handle ich den Upload via python aber längerfristig gesehen würde ich das gerne wieder mit php machen weil ich (noch) nichts anderes kann.

Meine frage wäre ob jemand lust hat mir zu helfen einen funktionierenden Patch zu erstellen mit dem ich mein php 5.3.3 auf debian stable gepatcht bekomme.

Oder kennt jemand einen anderen weg das limit zu umgehen?

amiga1200
Posts: 208
Joined: 2007-01-13 19:58

Re: UPLOAD_MAX_FILESIZE 2GB-Limit Bug

Post by amiga1200 » 2012-02-23 14:24

vielleicht hilft es dir:
Ich hatte auch mal das Problem, ich habe es dannn über FTP codiert,
das hat super funktioniert.

http://blog.ebene7.com/2011/01/07/einfa ... d-mit-php/

andixx
Posts: 2
Joined: 2012-02-20 07:46

Re: UPLOAD_MAX_FILESIZE 2GB-Limit Bug

Post by andixx » 2012-02-24 07:34

Danke für das Schnipsel aber dort wird ja auch nur der inhalt von $content per ftp abgelegt. Da alles über 2 GB aber gar nicht beim php-script ankommt bringt mich das nicht weiter da ich ja keinen zugriff auf das tempfile habe und somit auch keinen content bekomme den ich speichern könnte.

jan10001
Anbieter
Posts: 727
Joined: 2004-01-02 12:17

Re: UPLOAD_MAX_FILESIZE 2GB-Limit Bug

Post by jan10001 » 2012-02-28 11:00

Ich kann zwar dein PHP Problem verstehen, verstehe aber nicht warum jemand 5GB über Script hochlädt. Wäre es nicht einfacher per FTP alles hoch zu laden, warum muß es umbedingt per Script sein?
Last edited by jan10001 on 2012-02-28 11:01, edited 1 time in total.