File: connection-handling.xml

package info (click to toggle)
phpdoc 20020310-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 35,272 kB
  • ctags: 354
  • sloc: xml: 799,767; php: 1,395; cpp: 500; makefile: 200; sh: 140; awk: 51
file content (103 lines) | stat: -rw-r--r-- 4,625 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?xml version="1.0" encoding="iso-8859-1"?>
 <chapter id="features.connection-handling">
  <title>Verbindungssteuerung</title>

  <note>
   <para>Folgendes trifft auf die Versionen 3.0.7 und spter zu.</para>
  </note>

  <para>
   PHP erhlt intern einen Verbindungsstatus. Dieser kann drei
   Zustnde annehmen:
   <itemizedlist>
    <listitem><simpara>0 - NORMAL</simpara></listitem>
    <listitem><simpara>1 - ABORTED</simpara></listitem>
    <listitem><simpara>2 - TIMEOUT</simpara></listitem>
   </itemizedlist>
  </para>

  <simpara>
   Wenn ein PHP-Skript aktiv ist, ist der Status blicherweise   
   NORMAL. Sollte der Client-Rechner die Verbindung beenden, wird
   der Status auf ABORTED gesetzt. Ein clientseitiges Beenden der
   Verbindung wird fr gewhnlich veranlat, wenn der Benutzer den
   STOP-Button seines Browsers drckt. Wenn das eingestellte Zeitlimit
   (siehe <function>set_time_limit</function>) berschritten wird,
   wird der Status TIMEOUT gesetzt.</simpara>

  <simpara>
   Sie knnen entscheiden, ob der Verbindungsabbruch seitens des Clients
   den Abbruch des Skriptes zur Folge haben soll.
   Manchmal ist es sinnvoll, Skripte sauber zu beenden, auch wenn
   kein Browser mehr zur Verfgung steht, der die Ausgabe empfngt.
   Die Abarbeitung eines Skriptes wird standardmig abgebrochen, wenn
   der Client die Verbindung beendet.
   Dieses Verhalten kann sowohl durch die Option ignore_user_abort in
   der Konfigurationsdatei php3.ini, durch die entsprechende
   Option php3_ignore_user_abort in der Apache-Konfigurationsdatei
   als auch durch <function>ignore_user_abort</function> beeinflut
   werden.
   Wenn PHP nicht angewiesen wird, einen Verbindungsabbruch durch den
   Benutzer zu ignorieren und die Verbindung dann durch den Benutzer
   beendet wird, wird die Abarbeitung des Scriptes abgebrochen. Die einzige
   Ausnahme ist, wenn durch die Funktion 
   <function>register_shutdown_function</function> eine Shutdown-Funktion
   angegeben wird, die bei clientseitigem Abbruch ausgefhrt wird. 
   Wenn dann der Benutzer den STOP-Button seines Browsers drckt, wird
   PHP bei der nchsten Ausgabe des Skriptes feststellen, da die
   Verbindung abgebrochen wurde und die Shutdown-Funktion aufrufen.
   Diese Shutdown-Funktion wird auch aufgerufen, wenn das Skript auf 
   normalem Wege beendet wird, daher sollte man, wenn man fr den
   Fall eines Benutzerabbruchs etwas anderes vorgesehen hat,
   die Funktion <function>connection_aborted</function> verwenden.
   Sie gibt &true; zurck, wenn die Verbindung abgebrochen wurde.</simpara>

  <simpara>
   Ein Skript kann ebenfalls durch den eingebauten Script-Timer
   beendet werden. Der Standard-Timeout betrgt 30 Sekunden. Er kann
   durch die Option max_execution_time in der php3.ini, durch
   den entsprechenden Eintrag php3_max_execution_time in der
   Apache-Konfigurationsdatei oder durch die Funktion
   <function>set_time_limit</function> beeinflut werden. Bei
   Zeitberschreitung wird das Skript beendet und, genau wie im obigen
   Fall des Verbindungsabbruchs, eine registrierte Shutdown-Funktion
   ausgefhrt. Um zu berprfen, ob es sich um einen Abbruch aufgrund
   von Zeitberschreitung handelt, kann die Funktion
   <function>connection_timeout</function> benutzt werden. Sie gibt
   &true; zurck, wenn es sich um eine Zeitberschreitung handelt.</simpara>

  <simpara>
   Zu bemerken ist, da der ABORTED und der TIMEOUT-Status gleichzeitig
   auftreten knnen. Dies ist mglich, wenn PHP angewiesen wird,
   Benutzerabbrche zu ignorieren. PHP wird feststellen, da der
   Benutzer die Verbindung abgebrochen hat, das Skript allerdings
   luft weiter. Sollte es dann das Zeitlimit erreichen, wird es
   abgebrochen und eine Shutdown-Funktion, wenn definiert, wird
   aufgerufen. Zu diesem Zeitpunkt kann man feststellen, dass
   <function>connection_timeout</function>
   und <function>connection_aborted</function> &true; zurckgeben.
   Diese beiden Statusmglichkeiten knnen auch durch einen Aufruf
   der Funktion <function>connection_status</function> abgefragt
   werden. Sie liefert ein Bitfeld des aktiven Status. Wenn
   beispielsweise TIMEOUT und ABORTED aktiv sind, wird 3 zurckgegeben.
   </simpara>

 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->