phpbar.de logo

Mailinglisten-Archive

[php] Re: [php] Alternative bei =?iso-8859-1?Q?h=E4ngendem?= Skript

[php] Re: [php] Alternative bei =?iso-8859-1?Q?h=E4ngendem?= Skript

=?iso-8859-1?Q?Andr=E9?= Temme a.temme_(at)_gmx.de
Fri, 30 Jun 2000 15:07:13 +0200


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