Same name and namespace in other branches
  1. 10 core/includes/common.inc \drupal_flush_all_caches()
  2. 6.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()

Flushes 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.

14 calls to drupal_flush_all_caches()
AggregatorRenderingTestCase::testBlockLinks in modules/aggregator/aggregator.test
Adds a feed block to the page and checks its links.
BlockTestCase::testBlockRehash in modules/block/block.test
Test _block_rehash().
CacheClearCase::testFlushAllCaches in modules/simpletest/tests/cache.test
Test drupal_flush_all_caches().
DrupalWebTestCase::resetAll in modules/simpletest/drupal_web_test_case.php
Reset all data structures after having enabled new modules.
EnableDisableTestCase::testEntityInfoChanges in modules/system/system.test
Ensures entity info cache is updated after changes.

... See full list

File

includes/common.inc, line 7812
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();
  registry_rebuild();
  drupal_clear_css_cache();
  drupal_clear_js_cache();

  // Rebuild the theme data. Note that the module data is rebuilt above, as
  // part of registry_rebuild().
  system_rebuild_theme_data();
  drupal_theme_rebuild();
  entity_info_cache_clear();
  node_types_rebuild();

  // node_menu() defines menu items based on node types so it needs to come
  // after node types are rebuilt.
  menu_rebuild();

  // Synchronize to catch any actions that were added or removed.
  actions_synchronize();

  // 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_path',
    'cache_filter',
    'cache_bootstrap',
    'cache_page',
  );
  $cache_tables = array_merge(module_invoke_all('flush_caches'), $core);
  foreach ($cache_tables as $table) {
    cache_clear_all('*', $table, TRUE);
  }

  // Rebuild the bootstrap module list. We do this here so that developers
  // can get new hook_boot() implementations registered without having to
  // write a hook_update_N() function.
  _system_update_bootstrap_status();
}