php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 06-08-2008, 15:49
muschle66
 Newbie
Links : Onlinestatus : muschle66 ist offline
Registriert seit: Feb 2007
Beiträge: 41
muschle66 ist zur Zeit noch ein unbeschriebenes Blatt
Standard PHP File Upload im Hauptspeicher

Hallo zusammen,

hätte da mal eine echte Expertenfrage:

Während eines http Upload hält PHP die aktuell hochgeladenen Daten im Hauptspeicher. Wenn der voll ist, knallts (sprich upload Datei wird vom tmp entfernt, da PHP intern abbricht). Wie ist dieses "mangel an Hauptspeicher Problem" zu lösen? Wieso wird das nicht in swap ausgelagert?

Gruß Tom
Mit Zitat antworten
  #2 (permalink)  
Alt 06-08-2008, 16:12
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

hi,

php sendet dem system einfach die datei und sagt .. speicher mal im tmp (dateisystem) und das system speichert die im temp.

wie das gemacht wird ist php schei*egal .. es wird gemacht und gut ist.

sollte wärend des uploades der arbeitsspeicher voll sein wird der swap/ die auslagerungsdatei verwendet.
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #3 (permalink)  
Alt 06-08-2008, 18:13
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von UzumakiNaruto
php sendet dem system einfach die datei und sagt .. speicher mal im tmp (dateisystem) und das system speichert die im temp.
Käse! PHP sendet überhaupt nichts. Die Datei ist Teil des Requests, der vom Browser an den Server geschickt wird.
Es hängt vom Webserver ab, wie er den Request speichert. Afaik wertet Apache jeden vollständig empfangenen HTTP-Header sofort aus. Enthält der Body eine oder mehrere Dateien, werden sie häppchenweise (scheinbar in 1MB chunks) in /tmp abgelegt. Wenn man eine sehr große Datei über eine schmale Verbindung hochlädt, kann man zusehen, wie das File in /tmp wächst.

Check mal LimitRequestBody (Apache) sowie upload_max_filesize, memory_limit, max_input_time und post_max_size (PHP).
Mit Zitat antworten
  #4 (permalink)  
Alt 06-08-2008, 21:45
muschle66
 Newbie
Links : Onlinestatus : muschle66 ist offline
Registriert seit: Feb 2007
Beiträge: 41
muschle66 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Super Board hier!
Endlich mal Antworten mit denen man was anfangen kann

Dann noch etwas mehr von meinem Problem:

Ich verwende die Suse 10.2
Mit irgend welchen PHP Limits hab ich kein Problem. Ich hab das mal genau verfolgt, kann damit aber nicht das Problem lokalisieren:

Während ich einen 1 GB http Upload laufen lasse kann ich sehen wie die Datei im tmp größer wird. Gleichzeitig während des uploads (der läuft ja dank 1 GB ne weile) mit vmstat den Speicher im Auge gehalten sehe ich das free langsam aber beständig nach 0 geht. Bei Null bricht der upload ab und die unfertige tmp Datei wird gelöscht.
Bei 1 GB Hauptspeicher und dem upload einer 1 GB Datei ist der Crashpunkt bei ca. 900 MB.

Wenn ich mit ps axu während des uploads den Speicher der Apache Prozesse anschaue, ist der immer gleichbleiben. Also muss es doch theoretisch am Speichermanagement von PHP liegen(?).


Ich kann und will mir nicht vorstellen, das dies bei mir ein normaler Zustand ist.
Man stelle sich vor, man hat eine Website mit etwas mehr user die gleichzeitige große Datein uploaden und php behalt diese alle schön im Hauptspeicher! Nicht mal geswappt wird.
Mit Zitat antworten
  #5 (permalink)  
Alt 06-08-2008, 21:54
muschle66
 Newbie
Links : Onlinestatus : muschle66 ist offline
Registriert seit: Feb 2007
Beiträge: 41
muschle66 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von onemorenerd
Check mal LimitRequestBody (Apache)
Das ist es nicht, das ist Standardmäsog auf unlimited eingestellt:
http://httpd.apache.org/docs/2.0/mod...mitrequestbody

Und wenn das aktiviert wäre, würde er den upload gar nicht erst annehmen und starten.
Mit Zitat antworten
  #6 (permalink)  
Alt 06-08-2008, 22:40
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Wenn ich mit ps axu während des uploads den Speicher der Apache Prozesse anschaue, ist der immer gleichbleiben. Also muss es doch theoretisch am Speichermanagement von PHP liegen(?).
PHP startet erst nach Ende des Uploads an, d.h. der Upload ist bereits beendet. Wenn keine entsprechenden Limits in den Einstellungen vorhanden sind (siehe onemorenerd's Beitrag), scheint es beim Upload bereits schief gehen!
Mit Zitat antworten
  #7 (permalink)  
Alt 06-08-2008, 22:48
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
PHP startet erst nach Ende des Uploads an
Das ist nicht ganz richtig.
Das Script wir erst nach dem Upload gestartet. Richtig!
Aber das File selber, wird schon von PHP angenommen.
Sonst würde ja der "APC Upload Hook" nicht greifen können.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #8 (permalink)  
Alt 07-08-2008, 01:38
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Aber das File selber, wird schon von PHP angenommen.
Hmm, guter Einwand. Haben die Einstellungen upload_max_filesize, etc. auch zu diesem Zeitpunkt schon Einfluss? Dann muss der TO natürlich diese Werte entsprechend hoch genug setzen!
Mit Zitat antworten
  #9 (permalink)  
Alt 07-08-2008, 10:35
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Haben die Einstellungen upload_max_filesize, etc. auch zu diesem Zeitpunkt schon Einfluss?
Ja! (meines Wissens nach)
Zumindest wird die php.ini vorher schon gelesen, wegen dem uploadpath usw.

Der TE braucht für fettere Uploads mehr Hauptspeicher. Und wenn meherere fette Uploads gleichzeitig laufen sollen, dann einen Webserver Cluster hinter einem Loadbalancer.
Aber das habe ich ihm in einem anderen Forum schon gesagt.

Warum sein System nicht swapt?
KA, bisher ist ja sogar noch geheim, ob es sich um Linux, AIX, Solaris, BSD oder Win handelt.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #10 (permalink)  
Alt 07-08-2008, 10:47
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Wer 1GB per HTTP überträgt, hat sich wohl nicht schlau gemacht, was das Protokoll eigentlich macht - und das hier sinnigerweise FTP zum einsatz kommen sollte.
Mit Zitat antworten
  #11 (permalink)  
Alt 07-08-2008, 10:49
muschle66
 Newbie
Links : Onlinestatus : muschle66 ist offline
Registriert seit: Feb 2007
Beiträge: 41
muschle66 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von combie
Warum sein System nicht swapt?
KA, bisher ist ja sogar noch geheim, ob es sich um Linux, AIX, Solaris, BSD oder Win handelt.
Suse 10.2.

Ich kann es mir irgendwie nicht vorstellen, dass ein php Upload mit dem K.O. Kriterium Hauptspeicher daherkommt. Wozu gibts swap? Ist doch der, wenn auch mit Nachteilen behaftet, erweiterte Hauptspeicher.
Mir ist schon die Sachlage klar, das man keine so grossen http Uploads machen sollte etc. Aber rein tecnisch gesehen kann ich mir echt nicht vorstellen, das die Limitierung der pysikalische Ram sein soll. Wenn dies tatsächlich so wäre, wäre PHP in dem Punkt gelinde gesagt ziemlich unzuverlässig.


Du weist, warum ich meine Frage hier gepostet habe. Das muss nicht weiter ausgeführt werden. Und dein arrogantes, überhebliches Verhalten, dass du woanderst an den Tag legst kannst du einfach hier stecken lassen bitte.
Mit Zitat antworten
  #12 (permalink)  
Alt 07-08-2008, 10:53
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Naja, wenn jemand fragt, wie er mit seinem FLAK die Mücken in seinem Zimmer beseitigen kann, wird er auch zu hören bekommen, dass sich eine Fliegenklatsche dazu besser eignet ...
Mit Zitat antworten
  #13 (permalink)  
Alt 07-08-2008, 10:57
muschle66
 Newbie
Links : Onlinestatus : muschle66 ist offline
Registriert seit: Feb 2007
Beiträge: 41
muschle66 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von unset
Wer 1GB per HTTP überträgt, hat sich wohl nicht schlau gemacht, was das Protokoll eigentlich macht - und das hier sinnigerweise FTP zum einsatz kommen sollte.
Wenn das so ein Problem ist, reduzieren wir doch einfach meine Frage warum der Upload im Speicher gehalten wird oder aber wie sich ein System verhält wo 50 Leute gleichzeitig eine 20 MB Datei uploaden. Natürlich kann man jetzt sagen da muss ein Loadbalancer und noch 25 weitere Server her. Warum? Nur weil es nicht möglich(?) ist das PHP(oder das BS?) den Speicherbedarf in diesem Moment swapped bzw. so behandelt das dies nicht auf den Speicher geht und damit einen Scriptlauf abbricht. Kann ich mir eigentlich nicht wirklich vorstellen.
Mit Zitat antworten
  #14 (permalink)  
Alt 07-08-2008, 11:46
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Im Grunde weißt du doch nichtmal, ob deine Behauptung so zutrifft.
Mit Zitat antworten
  #15 (permalink)  
Alt 07-08-2008, 11:59
muschle66
 Newbie
Links : Onlinestatus : muschle66 ist offline
Registriert seit: Feb 2007
Beiträge: 41
muschle66 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von unset
Im Grunde weißt du doch nichtmal, ob deine Behauptung so zutrifft.
Dann hilf doch mal einem "Newbie" als "PHP Experte" anstatt nichtssagende und provozierende Posts loszutreten. Wäre doch mal ein Ansatz, oder?
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:40 Uhr.