Function handling Funktionen
PHP Manual

register_shutdown_function

(PHP 4, PHP 5)

register_shutdown_function Registriert eine Funktion zur Ausführung beim Skript-Abschluss

Beschreibung

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

Registriert ein callback, welches ausgeführt werden soll, sobald die Ausführung des Scripts beendet ist oder exit() aufgerufen wurde.

register_shutdown_function() kann mehrmals hintereinander aufgerufen werden, in welchem Fall die Callbacks später in der selben Reihenfolge aufgerufen werden, wie sie registriert wurden. Wenn exit() innerhalb eines Shutdown Callbacks aufgerufen wird, bricht die Ausführung vollständig ab und keine weiteren Callbacks werden ausgeführt.

Parameter-Liste

callback

Das Shutdown Callback, welches registriert werden soll.

Die Callbacks werden als Teil der Anfrage ausgeführt, d.h. es ist möglich Ausgaben zu machen und auf Output Buffer zuzugreifen.

parameter

Alle weiteren Argumente, die dieser Funktion übergeben werden, werden auch den Callbacks beim Aufruf übergeben.

...

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

Wenn das übergebene Callback nicht aufrufbar ist, wird ein E_WARNING geworfen.

Changelog

Version Beschreibung
4.1.0 Die Shutdown Callbacks werden nun als Teil der Anfrage ausgeführt. In früheren Versionen wurden sie aufgerufen nachdem die Anfrage abgeschlossen wurde, weshalb es nicht möglich war mit echo oder print Ausgaben zu machen oder Output Buffer mit ob_get_contents() abzurufen. Auch Header wurden bereits vorher gesendet.

Beispiele

Beispiel #1 register_shutdown_function() Beispiel

<?php
function shutdown()
{
    
// Das ist unsere Shutdown Funktion, in welcher
    // wir noch letzte Anweisungen ausführen können
    // bevor die Ausführung beendet wird.

    
echo 'Script executed with success'PHP_EOL;
}

register_shutdown_function('shutdown');
?>

Anmerkungen

Hinweis:

Das Arbeitsverzeichnis des Scripts kann sich bei manchen Webservern wie Apache innerhalb des Shutdown Callbacks ändern.

Hinweis:

Shutdown-Funktionen werden nicht ausgeführt, wenn der Prozess mit einem SIGTERM oder SIGKILL Signal terminiert wurde. Während es nicht möglich ist ein SIGKILL Signal abzufangen, kann die pcntl_signal() genutzt werden, um einen Handler für SIGTERM zu registrieren.

Siehe auch


Function handling Funktionen
PHP Manual