Mit connection_status() kann man sich den internen Verbindungsstatus
von PHP
zurückgeben lassen.
Folgende drei (bzw. vier - siehe unten) Zustandsmöglichkeiten können
eintreten:
0 - NORMAL
1 - ABORTED
2 - TIMEOUT
3 - ABORTED und TIMEOUT
Ein aktives PHP-Skript hat normalerweise den Status NORMAL, es sei denn,
dass durch irgendein Vorkommnis dieser Status geändert wird. Dabei
gibt es
mehrere Möglichkeiten. Zum einen kann der User das laufende Skript
abbrechen
und somit den Status auf ABORTED setzen, oder es kann vorkommen, dass
das
Skript länger läuft, als das eingestellte Zeitlimit zulässt
(Standard-Timeout in der
Apache-Konfigurationsdatei ist 30 Sekunden, oder über set_time_limit()
eine
vorgegebene Zeit). Bei Überschreiten dieses Limits wird der Verbindungsstatus
auf TIMEOUT gesetzt.
Anhand dieser drei Werte kann man nun entscheiden, wie man mit diesem
Status
umgehen möchte. Oftmals will man gerade beim Abbruch durch den User
noch
wichtige Daten retten.
Beachten Sie bitte, dass die Funktion connection_status() gleichzeitig
den Staus
ABORTED und TIMEOUT besitzen kann. Dies geschieht gerade dann, wenn
man mit der Funkton ignore_user_abort() den Benutzerabbruch unterbindet.
Dennoch kann es zu einem TIMEOUT kommen. In diesem Fall gibt die Funktion
den Wert 3 (ABORTED + TIMEOUT) zurück, weil neben dem Timeout auch
der
(folgenlose) Benutzerabbruch registriert wurde.
Siehe auch:
|