[Problem] FB 7390 stürzt bei größeren Uploads per PHP auf den USB Stick ab

steyer

Neuer User
Mitglied seit
5 Okt 2009
Beiträge
43
Punkte für Reaktionen
0
Punkte
0
Hallo!

ich habe auf der box lighttpd laufen und mir nun ein php-script (vionlink UploadS 1.2) heruntergeladen, welches mir erlaubt dateien auf den angeschlossenen usb stick zu uploaden.
problem ist jetzt, dass bei Dateigrößen ~20mb die box kurze zeit einfriert und dann neustartet. ähnliches problem habe ich mit einem windows syncclient vom projekt owncloud, welches via webdav kommuniziert.

kleine dateien ungefähr unter 20mb werden ohne probleme hochgeladen, alles darüber schmiert ab.

nach ein wenig googeln bin ich evtl. auf die idee gekommen, dass vll der interne speicher erst zugemüllt wird und die box dadurch neustartet...

kann das sein und hat einer eine idee, wie man das ändern kann? evtl swap?
 
Große Dateien sind auch auf "richtigen" Webservern mit PHP ein Problem, da die Datei im Speicher zwischengepuffert wird. Mit Pearl lassen sich Uploads leicht in kleinere Blöcke zerlegen, mit PHP meines Wissens nicht.
 
@steyer: Auch die beste Hardware (sprich Box) hat ihre Grenzen. Du könntest noch versuchen eine SWAP-Partition zu installieren. Wirklich helfen wird es aber in deinem Falle nicht. Wahrscheinlich wird die Box nicht sofort rebooten, einfrieren (zumindest gefühlt) wird sie dennoch durch swaping bestimmt. Und da ist sie auch nicht weit vom nächsten Watchdog entfernt.

MfG
 
super, danke für die info! jetzt weiß ich schonmal, dass es nur am speicher liegt.

ich werde als nächstes mal die swap-partition ausprobieren.
hat sonst einer ein upload script in einer anderen sprache, mit welchem ich dateien hochladen kann, wodurch nicht der interne speicher so stark belastet wird? chked meinte ja bereits pearl.

ich habe noch ein script "php zu ftp" gefunden (welches sich bisher leider nur noch nicht mit dem ftp-server verbindet), wäre dies auch eine möglichkeit oder wird dort auch intern zwischengespeichert?
hab es gerade nicht zur hand, kann es aber nachreichen, wenn einer den quellcode sehen muss/möchte :)

edit: für alle, die auch nach so etwas suchen, ich habe hier etwas gefunden: coder-world.de
 
Zuletzt bearbeitet:
Große Dateien sind auch auf "richtigen" Webservern mit PHP ein Problem, da die Datei im Speicher zwischengepuffert wird.
Auch PHP legt die Dateien im Dateisystem ab, normalerweise in /tmp. Das Problem ist, dass /tmp auf der Box letztlich im RAM liegt.
Setz mal upload_tmp_dir in php.ini auf einen Pfad auf dem USB-Speicher.
 
Setz mal upload_tmp_dir in php.ini auf einen Pfad auf dem USB-Speicher.

hab ich schon gemacht. es ändert sich leider nichts...
kann ich irgendwie überprüfen, dass er auch wirklich dorthin speichert? ich hatte schonmal probleme mit der php.ini...
 
Bei einer größeren Datei kannst Du beobachten, wo die temporäre Datei angelegt wird, und sehen, wie sie immer größer wird.
Auf PCs hatte ich auch schon Uploads mit knapp 2GB, die landen auf jeden Fall in einer Datei und nicht im Hauptspeicher.
 
okay, also in den temp ordner speichert er schonmal.... funktionieren tut es leider trotzdem nicht.

nun habe ich das besagte cgi-script (s.o.) runtergeladen und wollte es ausführen. nun kommt "500 - Internal Server Error" und "(mod_cgi.c.1411) cgi died ?" steht im lighttpd log...
dies hat schonmal einer im forum gepostet, nun stand leider keine lösung drin. habt ihr eine? cgi und fastcgi ist geladen
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.