Mailinglisten-Archive |
Hallo Liste, hallo Andre, > [...] > 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. Bei mir klappt das wunderbar: In einem relativ lang ausführendem Skript (ca. 5 minuten; es werden Bilder bearbeitet) registriere ich bereits ganz am Anfang die Funktion shutdown() mit register_shutdown_function("shutdown"); In dieser Funktion frage ich nun den Status ab, wie weit das Skript schon bearbeitet wurde (ich setze während des Verlaufs an wichtigen Stellen (z.B: Geld eingezogen, File generiert, Warenkorb gelöscht) eine Statusvariable, und lese sie innerhalb der shutdown()-Function wieder aus. So kann ich dem User dann z.B. eine Email schicken ("Leider wurde die Verbindung beendet..blabla"). Das klappt prima. > 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. > [...] Das wiederum hat bei mir nicht funktioniert. Sonst hätte ich nämlich vor dem Abbuchungsvorgang von der Kreditkarte die connection überprüft. > [...] > 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. Aha. Also merkt PHP nur, dass die Verbindung nicht mehr da ist, wenn ich versucht habe, etwas auszugeben.... das ist natürlich interessant. Weiss jemand, wie zuverlässig, d.h. mit welcher Zeitspanne das System weiss, ob die Connection noch da ist oder nicht ?? Viele Grüße, Christian Szardenings.
php::bar PHP Wiki - Listenarchive