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 (99 lines) | stat: -rw-r--r-- 4,186 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
<?xml version="1.0" encoding="iso-8859-2"?>
<!-- EN-Revision: 1.12 Maintainer: slawek Status: ready -->
<!-- $Revision: 1.8 $ -->
 <chapter id="features.connection-handling">
  <title>Obsuga pocze</title>

  <note>
   <para>Ten rozdzia dotyczy wersji 3.0.7 i pniejszych.</para>
  </note>

  <para>
   PHP wewntrznie zarzdza stanem poczenia. Mog wystpi
   trzy stany:
   <itemizedlist>
    <listitem><simpara>0 - NORMAL</simpara></listitem>
    <listitem><simpara>1 - ABORTED (przerwany)</simpara></listitem>
    <listitem><simpara>2 - TIMEOUT (przekroczony czas)</simpara></listitem>
   </itemizedlist>
  </para>

  <simpara>
   Kiedy skrypt PHP si wykonuje, aktywny jest stan NORMAL.
   Jeli klient si rozczy, stan przechodzi w ABORTED.
   Zwykle ma to miejsce gdy uytkownik nacinie przycisk STOP w
   przegldarce. Jeli przekroczony zostanie narzucony limit czasu
   (patrz <function>set_time_limit</function>), stan zmienia si
   na TIMEOUT.
  </simpara>

  <simpara>
   Moesz zdecydowa czy po rozczeniu klienta praca skryptu ma zosta
   przerwana. Czasem przydatne jest by skrypty dziaay do koca, nawet
   gdy braknie przegldarki do ktrej mona wysya dane. Domylnie,
   po rozczeniu si klienta, dziaanie skryptu jest przerywane. To
   zachowanie mona zmieni dziki opcji ignore_user_abort w php.ini, jak
   rwnie dyrektywie Apache "php_value ignore_user_abort" lub funkcji
   <function>ignore_user_abort</function>. Jeli nie kaesz PHP ignorowa
   rozcze klienta, a klient rozczy si, skrypt zakoczy dziaanie.
   Jedyny wyjtek wystpi, jeli zarejestrujesz funkcj zamykajc, uywajc
   <function>register_shutdown_function</function>. Wtedy, gdy uytkownik
   wcinie przycisk STOP i przy kolejnej prbie wysania wyniku PHP
   wykryje przerwanie poczenia, zostanie wykonana funkcja zamykajca.
   Bdzie ona rwnie wywoywana przy normalnym zakoczeniu pracy skryptu,
   zatem, by wykona inne czynnoci gdy klient si rozczy, mona
   uy funkcji <function>connection_aborted</function>. Zwraca ona
   &true; jeli poczenie zostao przerwane.
  </simpara>

  <simpara>
   Skrypt moe zosta rwnie zakoczony przez wbudowany licznik czasu.
   Domylnie czas ten wynosi 30 sekund. Warto t mona zmieni
   uywajc opcji max_execution_time w php.ini, jak rwnie dyrektywy
   Apache "php_value max_execution_time" lub funkcji
   <function>set_time_limit</function>. Kiedy czas na wykonanie si
   skoczy, skrypt zostanie przerwany podobnie jak w przypadku rozczenia
   si klienta (patrz wyej). Jeli funkcja zamykajca bya zarejestrowana,
   zostanie wywoana. Wewntrz funkcji zamykajcej moesz sprawdzi czy
   zostaa ona wywoana wskutek przekroczenia czasu. Do tego celu uyj
   funkcji <function>connection_timeout</function>, ktra zwrci &true;
   jeli to przekroczenie limitu czasu spowodowao wywoanie funkcji
   zamykajcej.
  </simpara>

  <simpara>
   Naley zwrci uwag, e stany ABORTED i TIMEOUT mog by aktywne
   jednoczenie. Jest to moliwe, jeli kaesz PHP ignorowa rozczenia
   klienta. PHP bdzie brao pod uwag fakt, e poczenie z klientem
   mogo zosta zerwane, ale skrypt bdzie pracowa dalej. Gdy minie czas
   przeznaczony na wykonanie skryptu, zostanie on przerwany i uruchomiona
   zostanie funkcja zamykajca (jeli bya ustawiona). W tym momencie funkcje
   <function>connection_timeout</function> i
   <function>connection_aborted</function> bd zwracay &true;. Moesz
   take sprawdzi oba stany przy pomocy funkcji
   <function>connection_status</function>. Zwrci ona aktywne stany
   ustawione bitowo. Dla przykadu, jeli oba stany s aktywne, zostanie
   zwrcona liczba 3.
  </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:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->