Opmerking
:
Het
volgende
is
alleen
actief
in
PHP
3.0.7
en
hoger
.
Intern
in
PHP
wordt
de
connectie
status
bijgehouden
.
Er
zijn
3
mogelijke
statussen
mogelijk
:
Als
een
PHP
script
normaal
draait
is
de
NORMAL
status
actief
.
Zogauw
een
gebruiker
de
HTTP
connectie
sluit
is
de
ABORTED
status
actief
.
Dit
gebeurt
meestal
als
de
gebruiker
op
z
'
n
STOP
knop
klikt
.
Als
de
door
PHP
bijgehouden
tijdlimiet
(
zie
set_time_limit(
)
)
overschreden
word
,
is
de
TIMEOUT
status
actief
.
Je
kunt
er
voor
kiezen
jouw
script
te
beëindigen
wanneer
een
gebruiker
de
connectie
met
de
server
sluit
,
echter
is
het
soms
handig
om
een
script
door
te
laten
lopen
,
zelfs
als
er
geen
browser
is
om
de
output
te
ontvangen
.
Standaard
wordt
echter
jouw
script
gestopt
wanneer
de
gebruiker
de
connectie
sluit
.
Dit
gedrag
kan
gewijzigd
worden
met
de
ignore_user_abort
php.ini
directive
of
met
de
corresponderende
php_ignore_user_abort
Apache
.conf
directive
of
het
makkelijkst
met
de
ignore_user_abort(
)
functie
.
Als
je
PHP
niet
vertelt
het
sluiten
van
een
connectie
te
negeren
zal
je
script
gestopt
worden
zogauw
dit
gebeurd
.
Er
is
een
uitzondering
,
als
je
een
shutdown
functie
hebt
geregistreerd
met
de
register_shutdown_function(
)
functie
zal
PHP
zogauw
hij
ontdekt
dat
er
geen
connectie
meer
is
,
proberen
deze
shutdown
functie
aan
te
roepen
.
Deze
functie
wordt
echter
ook
aangeroepen
als
je
script
op
een
normale
manier
eindigt
.
Als
je
alleen
actie
wilt
ondernemen
als
de
gebruiker
de
connectie
sluit
kun
je
gebruik
maken
van
de
connection_aborted(
)
functie
.
Deze
functie
geeft
TRUE
als
de
connectie
gesloten
is
.
Jouw
script
kan
ook
beëindigd
worden
door
de
ingebouwde
script
timer
.
De
standaard
timeout
is
30
seconden
.
Dit
kan
veranderd
worden
met
de
max_execution_time
php.ini
directive
of
met
de
corresponderende
php_max_execution_time
Apache
.conf
directive
alsmede
met
de
set_time_limit(
)
functie
.
Als
de
toegestane
tijd
word
overschreden
wordt
het
script
beëindigd
en
net
zoals
in
het
geval
dat
de
gebruiker
de
connectie
sluit
word
er
een
shutdown
functie
aangeroepen
mits
deze
geregistreerd
is
.
In
deze
shutdown
functie
kun
je
controleren
of
een
timeout
de
oorzaak
is
van
het
aanroepen
van
de
shutdown
function
.
Dit
doe
je
met
de
connection_timeout(
)
functie
.
Deze
functie
geeft
TRUE
als
een
timeout
de
oorzaak
was
.
Een
ding
om
te
onthouden
is
dat
de
ABORTED
status
en
de
TIMEOUT
status
allebei
actief
kunnen
zijn
op
het
zelfde
moment
.
Dit
is
pas
mogelijk
als
je
PHP
verteld
om
zgn
.
'
user
aborts
'
(gebruikt
sluit
connectie
)
te
negeren
.
PHP
zal
merken
dat
de
gebruiker
de
connectie
gesloten
heeft
maar
het
script
blijft
draaien
.
Als
het
tijdslimiet
bereikt
word
,
wordt
het
script
beëindigd
en
de
shutdown
functie
aangeroepen
.
Je
zal
merken
dat
als
dit
het
geval
is
zowel
connection_timeout(
)
als
connection_aborted(
)
TRUE
geven
.
Je
kunt
deze
statussen
met
1
functie
controleren
,
namelijk
connection_status(
)
.
Deze
functie
geeft
een
bitfield
met
de
huidig
actieve
statussen
.
Dus
als
beide
statussen
actief
zijn
zou
het
3
geven
.