Forum und email

register_shutdown_function

(PHP 4, PHP 5)

register_shutdown_function — Regiszrálja a függvényt a szkript befejezésekor történő végrehajtásra

Leírás

void register_shutdown_function ( callback $function [, mixed $parameter [, mixed $... ]] )

A function nevű függvényt regisztrálja, hogy az majd a szkript feldolgozása után lefusson.

Ha egymás után többször is meghívásra kerül a register_shutdown_function(), akkor a paraméterként átadott függvények ebben a sorrendben lesznek regisztrálva és meghívva. Ha valamelyik regisztrált függvényben az exit()-re kerül a vezérlés, akkor a feldolgozás megszakad és az ezután következő regisztrált függvények nem kerülnek meghívásra.

Az Apache alatt futó PHP 4.0.6-os vagy előbbi verziójában a regisztrált lezáró (shutdown) függvények a kérés kiszolgálása (kimeneti tartalom elküldése) után kerülnek meghívásra, ezért nem lehet semmilyen adatot küldeni a kliensnek pl. echo() vagy print() függvényekkel, és a kimeneti tárolók tartalmát sem lehet olvasni ob_get_contents() segítségével. PHP 4.1-től keződően, a lezáró függvények a kérés részeként hívódnak meg, ezért lehet általuk adatot kiiratni. Jelenleg nincs mód adatfeldolgozásra a kérés kiszolgálása után.

A PHP 4 óta lehet paramétereket átadni a lezáró függvénynek, úgy hogy a register_shutdown_function() függvénynek további paramétereket adunk át.

Note: Általában a nem definiált függvények fatális hibát okoznak a PHP-ben, de ha a register_shutdown_function()-nak átadott function paraméter nem definiált függvényt tartalmaz, egy E_WARNING szintű hiba keletkezik. A PHP belsejéből származó okok miatt ez a hibajelzés a 0.-dik sorban az Unknown() nevű függvényre fog hivatkozni.

Note: Egyes szereverek esetén (pl. Apache) a munkakönyvtár változhat a lezáró függvény belsejében.

Lásd még az auto_append_file, exit(), és a kapcsolatkezelésről szóló fejezetet.