4.6.x core.php hook_exit($destination = NULL)
4.7.x core.php hook_exit($destination = NULL)
5.x core.php hook_exit($destination = NULL)
6.x core.php hook_exit($destination = NULL)
7.x system.api.php hook_exit($destination = NULL)

Perform cleanup tasks.

This hook is run at the end of each page request. It is often used for page logging and printing out debugging information.

Only use this hook if your code must run even for cached page views. If you have code which must run once on all non cached pages, use hook_menu(!$may_cache) instead. Thats the usual case. If you implement this hook and see an error like 'Call to undefined function', it is likely that you are depending on the presence of a module which has not been loaded yet. It is not loaded because Drupal is still in bootstrap mode. The usual fix is to move your code to hook_menu(!$may_cache).


$destination: If this hook is invoked as part of a drupal_goto() call, then this argument will be a fully-qualified URL that is the destination of the redirect. Modules may use this to react appropriately; for example, nothing should be output in this case, because PHP will then throw a "headers cannot be modified" error when attempting the redirection.

Return value


Related topics

2 functions implement hook_exit()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

statistics_exit in modules/statistics/statistics.module
Implementation of hook_exit().
throttle_exit in modules/throttle/throttle.module
Implementation of hook_exit().
3 invocations of hook_exit()
drupal_goto in includes/common.inc
Send the user to a different Drupal page.
drupal_page_footer in includes/common.inc
Perform end-of-request tasks.
system_performance_settings in modules/system/system.module


developer/hooks/core.php, line 241
These are the hooks that are invoked by the Drupal core.


function hook_exit($destination = NULL) {
  db_query('UPDATE {counter} SET hits = hits + 1 WHERE type = 1');