如何在Drupal 8中以编程方式清除缓存

Pup*_*pil 5 caching drupal drupal-8

我正在研究Drupal 8网站.这个网站正在运作.我最近搬到了另一台机器上.它显示的错误如下:

Recoverable fatal error: Argument 1 passed to 

Drupal\Component\DependencyInjection\Container::__construct() must be of

 the type array, boolean given, called in [DRUPAL-

PATH]/core/lib/Drupal/Core/DrupalKernel.php on line 883 and defined in 

[DRUPAL-PATH]/core/lib/Drupal/Component/DependencyInjection/Container.php

 on line 119 #0 [DRUPAL-PATH]/core/includes/bootstrap.inc(550): 

_drupal_error_handler_real(4096, 'Argument 1 pass...', 

'/Applications/M...', 119, Array)
Run Code Online (Sandbox Code Playgroud)

我需要以编程方式清除缓存.

但是,我找不到任何帮助.

有些专家可以帮帮我吗?

sre*_*ala 13

试试以下.

cache_clear_all() // For Drupal-7

drupal_flush_all_caches() // For Drupal-8
Run Code Online (Sandbox Code Playgroud)

  • 这是应该选择的答案,因为OP是“以编程方式”说的。 (2认同)

小智 6

如果您想清除渲染缓存等特定缓存,则可以运行以下代码:

\Drupal::service('cache.render')->invalidateAll()
Run Code Online (Sandbox Code Playgroud)

如果要清除所有缓存,请尝试:

drupal_flush_all_caches()
Run Code Online (Sandbox Code Playgroud)

以下服务实现CacheBackendInterfaceand invalidateAll()方法,将所有缓存项标记为无效:

cache.bootstrap
cache.config
cache.data
cache.default
cache.discovery
cache.entity
cache.menu
cache.render
cache.static
Run Code Online (Sandbox Code Playgroud)


vij*_*jay 5

通过SQL

TRUNCATE `cache_bootstrap`;
TRUNCATE `cache_config`;
TRUNCATE `cache_container`;
TRUNCATE `cache_data`;
TRUNCATE `cache_default`;
TRUNCATE `cache_discovery`;
TRUNCATE `cache_dynamic_page_cache`;
TRUNCATE `cache_entity`;
TRUNCATE `cache_menu`;
TRUNCATE `cache_render`;
TRUNCATE `cache_rest`;
TRUNCATE `cachetags`;
TRUNCATE `cache_toolbar`;
Run Code Online (Sandbox Code Playgroud)

通过拉什

drush cr all
Run Code Online (Sandbox Code Playgroud)