禁用整个缓存以进行开发

TiM*_*TER 5 drupal drupal-8

我正在为Drupal 8开发一个新主题.我需要禁用Drupal中的所有缓存机制.我找到了twig缓存和CSS/JavaScript的配置,但没有找到Drupal的其他东西(比如.theme文件等).

我在这里找到了一些提示:

在第一个链接中,您会发现一些条目cache.以及在第二个链接中开始,如何停用后端缓存?

虽然如果我粘贴这两行:

$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
$settings['cache']['bins']['render'] = 'cache.backend.null';
Run Code Online (Sandbox Code Playgroud)

进入我的settings.phpDrupal会显示一条消息,指出页面出错.

小智 11

禁用整个缓存(twig + Drupal缓存):

首先复制并重命名sites/example.settings.local.php为sites/default/settings.local.php

$ cp sites/example.settings.local.php sites/default/settings.local.php
Run Code Online (Sandbox Code Playgroud)

然后打开settings.php文件sites/default并取消注释这些行:

# if (file_exists(__DIR__ . '/settings.local.php')) {
#   include __DIR__ . '/settings.local.php';
# }
Run Code Online (Sandbox Code Playgroud)

现在打开settings.local.php并改变它TRUE

$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

并取消注释所有这些以禁用渲染缓存和禁用动态页面缓存

# $settings['cache']['bins']['render'] = 'cache.backend.null';
# $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';
Run Code Online (Sandbox Code Playgroud)

对于twig缓存打开development.services.yml并添加

parameters:
  twig.config:
    debug : true
    auto_reload: true
    cache: false
Run Code Online (Sandbox Code Playgroud)

了解更多信息https://www.drupal.org/node/2598914

  • 在此之后我得到了这个错误:`网站遇到意外错误.请稍后再试.Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException:您已经请求了一个不存在的服务"cache.backend.null".要解决这个问题,请访问:*http://yoursite/core/rebuild.php* (3认同)