![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Christian Mühlroth 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 |
| Lutz Registriert seit: 14.08.2005 Ort: Nienburg / Weser
Beiträge: 684
|
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 |
| Lutz Registriert seit: 14.08.2005 Ort: Nienburg / Weser
Beiträge: 684
|
@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 | |
| Christian Mühlroth 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 |
| Christian Mühlroth 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 |
| Christian Mühlroth 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 | |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
| 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 |
| Christian Mühlroth 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 |
| Lutz Registriert seit: 14.08.2005 Ort: Nienburg / Weser
Beiträge: 684
|
@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 |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.183
|
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 | Thema durchsuchen |
| |
Ä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 |