Drupal 8 | Enter in debug mode and disable cache
Pay Attention
Even after following the instructions on this page, the caches need to be cleared every time you change a config file or you add a new file.
Copy and rename the sites/example.settings.local.php to sites/default/settings.local.php to
Open settings.php file in sites/default and uncomment these lines to include the local settings file as part of Drupal’s settings file:
<?php ... if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { include $app_root . '/' . $site_path . '/settings.local.php'; }
Open settings.local.php and uncomment (or add) this line to enable the null cache service:
<?php ... $settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
Uncomment (or add) these lines in settings.local.php to disable the render cache and disable dynamic page cache:
<?php . . . $settings['cache']['bins']['render'] = 'cache.backend.null'; $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null'; $settings['cache']['bins']['page'] = 'cache.backend.null';
Open development.services.yml in the sites folder and add the following block to disable the twig cache:
parameters: twig.config: debug: true auto_reload: true cache: false
Your final development.services.yml should look as follows (mind the indentation):
# Local development services. # # To activate this feature, follow the instructions at the top of the # 'example.settings.local.php' file, which sits next to this file. parameters: http.response.debug_cacheability_headers: true twig.config: debug: true auto_reload: true cache: false services: cache.backend.null: class: Drupal\Core\Cache\NullBackendFactory
Afterwards you have to rebuild the Drupal cache a last time, otherwise your website will encounter an unexpected error on page reload.
If in multisite, must use “service.yml” that you find in single site folder ( in my example is “sites => showcase.localhost => services.yml )