![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Erfahrener Benutzer
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
|
Hallo, nun poste ich doch mal bei den Profis
ich habe selbst folgendes Problem: Ich bin an den letzten Entwicklungen für einen PHP-Chat. Ja, ich weiß dass PHP dafür überhaupt nicht geeignet ist, aber ich möchte hier nicht darüber diskutieren, wer sich ansehen will warum ich PHP doch nutze soll mal die Suche auf php.de mit "vStreams" benutzen. Nun, zum eigenlichen Problem. Es klappt soweit alles wunderbar, nur an der Chatausgabe haperts. Denn die setzt nach einer bestimmten Zeit einfach aus (welches Zeitintervall dies ist habe ich noch nicht herausgerunden). Nun, erster Gedanke: max_execution_time. Die steht bei meinem Hoster auf 30, das Script braucht aber mehr als 10 (15?) Minuten bis es abbricht. Woran kann dies liegen? Hier mal ein Ausschnitt aus der relevanten Datei: PHP-Code:
An was liegt das, dass das Script eifnach so (ohne Felermeldung) abbricht? (PHP 4.4.0, error_reporting(E_ALL), display_errors auf true) ..
__________________
http://www.ChrisDiary.De |
|
|
|
|
|
Nach oben #2 |
|
Erfahrener Benutzer
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 659
|
set_time_limit (0); sollte da eventuell helfen, denn wenn ein max_execution_time vorliegt, dann wird der Chat IMMER nach einer gewissen zeit abbrechen.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
|
|
|
|
|
Nach oben #4 |
|
Erfahrener Benutzer
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 659
|
@Lars: Wenn das Script vernünftig programmiert ist, passiert es entweder a) garnicht erst und / oder b) es wird korrekt abgefangen. Die Möglichkeiten dazu gibt es jedenfalls.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
|
|
|
|
|
Nach oben #5 | |
|
Erfahrener Benutzer
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
|
Zitat:
max_execution_time liegt hier vor, ja, allerdings mit 30 Sekunden, und mein Script bricht manchmal nach 10-15 Minuten ab - die Betonung liegt hier auf manchmal, manhcmla läuft es nämlich auch einfach ohne Probleme - ein anderesmal kommen gleich 2-3 Fehler hintereinander (naja, keine Fehler, die in register_shutdown_function eingetragene Funktion wird aufgerufen, und in dieser wird zum debuggen eine Mail an mich gesendet, mit mysql_error, jedoch besteht hier auch kein mysqlFehler), und das Script bricht ab / läuft weiter. //edit Mit ist gestern abend noch folgnedes aufgefallen: Wie schon beschrieben wird der User, insofern das Script terminiert, in die DB als offline geschrieben. Das hat bisher bei Fehlern auch immer funktioniert. Bei diesem Fehler ist dies anders - ich kann noch Text schreiben, und dieser wird sogar in die Datenbank eingetragen - der User wird also nicht als offline gesetzt. Das einzige was sich also beendet ist das Auslesen der Texte aus der Datenbank (siehe dem Code oben)...
__________________
http://www.ChrisDiary.De Geändert von Chr!s (05.10.2005 um 11:22 Uhr). |
|
|
|
|
|
|
Nach oben #7 |
|
Erfahrener Benutzer
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
|
//edit
So, ich weiß jetzt (denke ich) zumindest an was es liegt. Ich hab nämlich mal den Speicherverbrauch des Scriptes mit memory_get_usage() mitloggen lassen - und siehe da, dieser steigt stetig. Meine Vermutung nun, wenn der zu hoch wird(2M gibt mir mein Hoster) wird das Script automatisch abgebrochen. Daher auch kein Aufruf der register_shutdown_function. Wäre das eine Möglichkeit? Und meine andere Frage - wie kann ich das Script nun so schreiben, dass es weniger Speicher verbraucht? Und zwar auf Dauer? Evtl. mit &$variable arbeiten? Usage am Anfang: 698640 Usage am Ende: 8385072 (hier hat das Sciprt abgebrochen) Da ist ja ein deutlicher Unterschied zu sehen. Anzumerken ist noch, dass sich der Speicherverbrauch stetig während der Laufzeit des Scriptes erhöht...
__________________
http://www.ChrisDiary.De Geändert von Chr!s (05.10.2005 um 18:45 Uhr). |
|
|
|
|
|
Nach oben #8 | |
|
me pro ok?
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
|
Zitat:
@NiceGuy: Ich hab mir das Script nicht durchgelesen, aber als dann auf einmal das Wort "execution_time" fiel, hats geläutet
__________________
Gedanken aus Draht stricken einen Zaun. |
|
|
|
|
|
|
Nach oben #9 |
|
Erfahrener Benutzer
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
|
Nur leider bei mir nicht - denn das SCript bricht bei Speicherüberlauf und nich wegen max_execution_time ab - die steht nämlich auf 30sekunden, das script bricht aber immer so bei 10-20Minuten ab
Ich habs nun so gelöst, indem ich Referenzen auf Variablen und Funktionen angewendet habe und siehe da - in meiner Logdatei kommt jedesmal der selbe Wert: Memory-Usage: 677744
__________________
http://www.ChrisDiary.De |
|
|
|
|
|
Nach oben #10 | |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
Zitat:
2mb sind natürlich recht schnell erreicht, gerade bei nem chat, denk ich mir. // edit: too slow...
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
|
Nach oben #11 |
|
Erfahrener Benutzer
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
|
Ich weiß. Find ich übrigens auch seltsam, local und master sind 2MB, aber beim Speicherverbrauch von knapp 8 (sieht man an meinem Logfiles) lief es immer noch..
__________________
http://www.ChrisDiary.De |
|
|
|
|
|
Nach oben #12 |
|
Erfahrener Benutzer
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 659
|
@Chris: Irgendwie scheint der Webserver deines Providers recht human zu aggieren, wenn ich mir anschaue, dass trotz max_execution_time und des Speicherlimits alles noch erhgeblich länger läuft...
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
|
|
|
|
|
Nach oben #13 |
|
BIN EIN KRASSA HELD!!!111
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.182
|
hmm das ganze läuft doch über streams, ich denke mal, vieleicht fällt das dann eher unter die input_time und die ist oftmals unbegrenzt, ist aber nur ne idee, bin mir da nicht so ganz sicher.
mfg robo47 |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Chat hängt sich bei IE5 und 6 auf. | suppenmann | JavaScript und AJAX | 3 | 12.09.2006 12:30 |
| Chat | Jan | Gesuche | 13 | 28.01.2006 02:26 |
| Chat | burli001 | Plauderecke | 7 | 27.11.2005 20:51 |
| Chatähnliche Ausgabe von Serverausgaben | ehli75 | Enterprise Java | 4 | 19.10.2005 16:14 |
| Chat Organisation | Paule | Allgemeine Java-Programmierung | 5 | 26.05.2005 22:58 |