Same name and namespace in other branches
  1. 10 core/includes/common.inc \drupal_flush_all_caches()
  2. 7.x includes/common.inc \drupal_flush_all_caches()
  3. 8.9.x core/includes/common.inc \drupal_flush_all_caches()
  4. 9 core/includes/common.inc \drupal_flush_all_caches()

Flush all cached data on the site.

Empties cache tables, rebuilds the menu cache and theme registries, and invokes a hook so that other modules' cache data can be cleared as well.

2 calls to drupal_flush_all_caches()
system_clear_cache_submit in modules/system/system.admin.inc
Submit callback; clear system caches.
update_finished in ./update.php

File

includes/common.inc, line 3836
Common functions that many Drupal modules will need to reference.

Code

function drupal_flush_all_caches() {

  // Change query-strings on css/js files to enforce reload for all users.
  _drupal_flush_css_js();
  drupal_clear_css_cache();
  drupal_clear_js_cache();

  // If invoked from update.php, we must not update the theme information in the
  // database, or this will result in all themes being disabled.
  if (defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'update') {
    _system_theme_data();
  }
  else {
    system_theme_data();
  }
  drupal_rebuild_theme_registry();
  menu_rebuild();
  node_types_rebuild();

  // Don't clear cache_form - in-progress form submissions may break.
  // Ordered so clearing the page cache will always be the last action.
  $core = array(
    'cache',
    'cache_block',
    'cache_filter',
    'cache_page',
  );
  $cache_tables = array_merge(module_invoke_all('flush_caches'), $core);
  foreach ($cache_tables as $table) {
    cache_clear_all('*', $table, TRUE);
  }
}