register_shutdown_function

(PHP 4, PHP 5, PHP 7, PHP 8)

register_shutdown_functionRegistriert eine Funktion zur Ausführung beim Skript-Abschluss

Beschreibung

register_shutdown_function(callable$callback, mixed...$args): void

Registriert ein callback, welches ausgeführt werden soll, sobald die Ausführung des Skripts endet oder wenn exit() aufgerufen wird.

register_shutdown_function() kann mehrmals hintereinander aufgerufen werden, und die Funktionen werden in derselben Reihenfolge aufgerufen, wie sie registriert wurden. Wenn exit() innerhalb einer registrierten Shutdown-Funktion aufgerufen wird, bricht die Ausführung vollständig ab und keine weiteren registrierten Shutdown-Funktionen werden ausgeführt.

Shutdown-Funktionen können außerdem selbst register_shutdown_function() aufrufen, um eine Shutdown-Funktion am Ende der Warteschlange hinzuzufügen.

Parameter-Liste

callback

Das Shutdown-Callback, welches registriert werden soll.

Die Shutdown-Callbacks werden als Teil der Anfrage ausgeführt, d. h. es ist möglich, Ausgaben zu senden und auf Ausgabepuffer zuzugreifen.

args

Hier können zusätzliche Parameter an die Shutdown-Funktion übergeben werden.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #1 register_shutdown_function()-Beispiel

<?php
function shutdown()
{
// Das ist unsere Shutdown-Funktion, in welcher

Anmerkungen

Hinweis:

Das Arbeitsverzeichnis des Skripts kann sich bei manchen Webservern, z. B. Apache, innerhalb des Shutdown-Callbacks ändern.

Hinweis:

Shutdown-Funktionen werden nicht ausgeführt, wenn der Prozess mit einem SIGTERM- oder SIGKILL-Signal terminiert wurde. Ein SIGKILL kann zwar nicht abgefangen werden, aber dafür kann mittels pcntl_signal() ein Handler für SIGTERM registriert werden, der exit() für einen sauberen Abbruch verwendet.

Hinweis:

Shutdown-Funktionen laufen getrennt von der Zeit, die von max_execution_time gemessen wird. Das bedeutet, dass die Shutdown-Funktionen auch dann noch aufgerufen werden, wenn ein Prozess beendet wird, weil er zu lange läuft. Außerdem wird eine laufende Shutdown-Funktion nicht beendet, wenn währenddessen die max_execution_time abläuft.

Siehe auch

To Top