php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.10.2010, 13:45  
Neuer Benutzer
 
Registriert seit: 13.10.2010
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
Vagabundo befindet sich auf einem aufstrebenden Ast
Standard PHP-Scruipt sendet keine Antwort

Hallo,

ich habe ein PHP Script, das seit mehreren Jahren funktioniert hat.
Es wird in einem internen Bereich vom Browser aus aufgerufen, prueft dann ein paar tausend Kunden und sollte dann das Ergebnis an den Browser senden.

Nun nehme ich an, dass die Zahl der Kunden so gross geworden ist, dass die Verbindung zwischen Browser und Script irgendwie verloren geht. Jedenfalls bekomme ich seit einiger Zeit manchmal noch Ergebnisse an den Browser geliefert und manchmal nicht - mit abnehmender Tendenz. In den logs finde ich keinen Fehlerhinweis. Der Browser tut dabei so, als ob er noch immer auf eine Antwort wartet.

Ich habe dann selbst in das Programm Ausgaben ueber den Status in eine Datei eingetragen, um zu sehen, ob es vielleicht in irgendeinem Loop haengt. Tut es aber nicht. Im Gegenteil. Das Script arbeitet alles ab und kommt auch zum Ende, aber das Ergebnis wird nicht an den Browser gesendet. Habe es auch schon mit flush und exit('Programmende') versucht, aber es klappt einfach nicht.

Ich habe dann alle Ergebnisse in eine Datei schreiben lassen, die normalerweise angezeigt wurden und die sind alle korrekt. Mit Seitenende und allem was dazugehoert und wollte dann nur die Bestaetigung an den Browser senden, dass das Programm fertig ist. Aber das kommt nicht im Browser an.

Hat jemand eine Idee was man da tun kann?

Vagabundo
Vagabundo ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.10.2010, 13:55  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

nachgucken, ob auf deiner Seite Fehler auftreten , dafür error-reporting hochdrehen

ansonsten, wenn du meinst, dass die Zeit knapp wird, dann setz den timeout hoch im Extremfall set_time_limit(0);
eagle275 ist offline   Mit Zitat antworten
Alt 14.10.2010, 13:58  
Erfahrener Benutzer
 
Registriert seit: 23.08.2010
Beiträge: 495
PHP-Kenntnisse:
Fortgeschritten
mimomamu sorgt für eine eindrucksvolle Atmosphäremimomamu sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Vagabundo Beitrag anzeigen
... prueft dann ein paar tausend Kunden und sollte dann das Ergebnis an den Browser senden.
Und das Ergebnis besteht aus einer HTML-Tabelle, in der alle Kunden mit einigen Atttibuten angezeigt werden? Dann geht der Browser beim Rendern in die Knie.
__________________
Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden
mimomamu ist offline   Mit Zitat antworten
Alt 14.10.2010, 14:00  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

@mimomamu - müsste sich das nicht mit dem regelmässigen flush aushebeln lassen ?

100 Datensätze in Tabelle -> flush = Anzeige im Browser, nächste 100 , wieder flush usw bis alle da sind .
eagle275 ist offline   Mit Zitat antworten
Alt 14.10.2010, 14:15  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.631
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von eagle275 Beitrag anzeigen
@mimomamu - müsste sich das nicht mit dem regelmässigen flush aushebeln lassen ?

100 Datensätze in Tabelle -> flush = Anzeige im Browser, nächste 100 , wieder flush usw bis alle da sind .
So doer so muss der Browser "alles" rendern, ob nun teilweiße oder am Stück.

Davon ab wartet er sicher auf das schließende <table>-Tag weil sich die Darstellung der Tabelle durch col/rowspan Attribute immens ändern könnte.

Speicher die Ergebnisse als Rohdaten in einer Datei und greife auf diese via Pagination zu (also einzelne Seitenlinks im Browser ausgeben mit XXX Einträgen pro Seite). Dann hast du das Problem nicht mehr.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 14.10.2010, 14:58  
Neuer Benutzer
 
Registriert seit: 13.10.2010
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
Vagabundo befindet sich auf einem aufstrebenden Ast
Standard

Danke fuer Eure Antworten.

Das Grundproblem ist damit aber noch nciht geloest:

Ich schreibe die Ergebnisse ja jetzt in eine Datei und lasse sie mir dann von dort anzeigen: Es sind nicht so sehr viele, da nur die Kunden mit bestimmten Kriterien angezeigt werden. Es bleiben dnan vielleicht noch 100 uebrig.

Aber bei der Erstellung der Datei passiert ja das gleiche: Der Browser roedelt und roedelt obwohl das Programm laengst fertig ist. Ich weiss also nie, wann es fertig ist, sondern kann nur schaetzen und dann vielleicht nach 10 Minuten das Browserfenster schliessen. Aber das ist natuerlich keine echt gute Loesung, besonders wenn verschiedene Leute mit dem Programm arbeiten muessen.

Das mit dem flush zwischendurch werde ich mal ausprobieren. Vielleicht ausserhalb einer Tabelle.

Vagabundo
Vagabundo ist offline   Mit Zitat antworten
Alt 15.10.2010, 09:03  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

das schreit aber dringend danach, dass du deine Abfragen optimierst - verschachtelte SQL-Abfragen in möglicherweise auch noch verschachtelten Schleifen sind ein bekannter Performance-Killer ....
eagle275 ist offline   Mit Zitat antworten
Alt 15.10.2010, 10:08  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.631
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von Vagabundo Beitrag anzeigen
Danke fuer Eure Antworten.

Das Grundproblem ist damit aber noch nciht geloest:

Ich schreibe die Ergebnisse ja jetzt in eine Datei und lasse sie mir dann von dort anzeigen: Es sind nicht so sehr viele, da nur die Kunden mit bestimmten Kriterien angezeigt werden. Es bleiben dnan vielleicht noch 100 uebrig.

Aber bei der Erstellung der Datei passiert ja das gleiche: Der Browser roedelt und roedelt obwohl das Programm laengst fertig ist. Ich weiss also nie, wann es fertig ist, sondern kann nur schaetzen und dann vielleicht nach 10 Minuten das Browserfenster schliessen. Aber das ist natuerlich keine echt gute Loesung, besonders wenn verschiedene Leute mit dem Programm arbeiten muessen.

Das mit dem flush zwischendurch werde ich mal ausprobieren. Vielleicht ausserhalb einer Tabelle.

Vagabundo
Woher kommen deine Daten denn?

Wenn diese aus einer SQL Datenbank stammen, istd er Tipp von eagle275 shcon richtig. Verwende dazu den LIMIT Befehl und eine Pagination und da sProblem sollte verschwinden.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
curl request ohne antwort abzuwarten devil13 PHP-Fortgeschrittene 9 04.08.2010 16:31
Scriptangebot Frage- Antwort Script zum Verkauf Bluelance Scriptbörse 6 17.01.2010 16:45
XML Request - Antwort ausgeben mondy PHP Tipps 2009 3 29.08.2009 11:46
XML Antwort auswerten timonb PHP Tipps 2009 8 08.04.2009 11:03
Curl - request und antwort debuggen? Frank Burian PHP-Fortgeschrittene 4 02.02.2009 12:51
keine Antwort bei Supportanfragen KeinGrips Board-Support 41 29.08.2008 14:06
XML RPC - Antwort vom Empfangsscript PoNs PHP Tipps 2008 5 25.09.2007 17:50
Sendet keine Einträge danimauserl2 Datenbanken 38 06.05.2006 12:55
Suche Antwort -> PHP oder Perl? c01001 Beitragsarchiv 9 10.10.2005 22:31
[Erledigt] HTTP POST Senden und Antwort Abfangen PHP Tipps 2005-2 7 10.09.2005 16:05
Warning: filesize(): SAFE MODE Restriction in effect. nicobischof PHP Tipps 2005-2 9 17.08.2005 19:05
Formular, welches prüft, ob eingegebene Antwort richtig.... PHP Tipps 2004 10 15.08.2004 22:18
kontaktformular sendet obwohl fehlerausgabe PHP Tipps 2004 7 07.07.2004 17:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php keine antwort, php überträgt keine daten php, browser keine antwort, wann sendet browser fertig, kontaktformular sendet keine daten, flush() zwischendurch

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum