Mailinglisten-Archive |
Mirko Giese schrieb: > > > wenn ich vermutlich noch ein wenig dran zu knabbern habe). Im Manual > > steht, dass Browserausgaben über register_shutdown_function() nicht > > möglich sind - oder verstehe ich da was falsch? Denkst du ich kann > > dennoch an dieser Stelle ein neues Skript starten? Die Idee war > > eigentlich, dass der User irgendwas Vernünftiges zu sehen bekommt... > > soweit ich weiss nicht, da der browser ja im moment des shutdowns ja ne > fehlermeldung in der art von "timed out" oder so bekommt und die > verbindung dann bereits abgebrochen ist, dann etwas zu schicken waere > sinnlos weil es der browser nicht mehr annehmen wird. deshalb duefte das > nicht gehen - ich wuerde allerdings gerne korrigiert werden. > eine moeglichkeit, vielleicht doch noch was zu machen, waere vielleicht > mit dem <meta http-equiv="refresh" content="z; URL=http://www.xy.de/">. > hier gibts du als url dynamisch ne adresse mit einer eindeutigen id, am > besten ja ne einer session, an. diese seite wird auf jeden fall geladen, > ob bei erfolg oder misserfolg. in deiner shutdown-funktion kannst du ja > dann im fehlerfall fuer diese session oder id in einer datenbank, file, > sessionvariable ... den fehlerfall notieren und ihn dann ausgeben, ist > alles gut gelaufen gibst du eben aus was auch immer da stehen soll. sollte > jemand ne bessere idee haben, bin ich auch dran interessiert. Hi, also ich habe das auch so verstanden, daß bei register_shutdown_function() keine Ausgaben mehr erzeugt werden. Die Funktion sollte erst dann aktiv werden, wenn versucht wird, etwas an den Client zu schicken, der dann nicht mehr erreichbar ist, dies wird an den Server zurückgegeben, der dann register_shutdown_function() aufruft. Hat bei mir aber leider noch nicht geklappt. Was klappt, ist die Registrierung des Abbruchs des Clienten mittels der connection_status-Funktionen, hiernach kann ich noch Änderungen an DB-Tabellen oder ähnliches vornehmen lassen. Output beim Clienten ist natürlich nicht mehr möglich, aber eine Session kann so noch ordentlich beendet werden. Wichtig ist nur, das versucht wird, etwas beim Clienten auszugeben, etwa echo " "; da erst aus der resultierenden Fehlermeldung der Aufruf der Funktionen erfolgen kann. Ich hoffe das hilft etwas, Andre Temme
php::bar PHP Wiki - Listenarchive