私は Disable Drupal 8キャッシング中に開発中 ステップバイステップ(また最終的にキャッシュを再構築します)しかし、twig
ファイルでの変更は、キャッシュを再構築しないと有効になりません。
sites/default/services.yml:
parameters:
session.storage.options: { gc_probability: 1, gc_divisor: 100, gc_maxlifetime: 200000, cookie_lifetime: 2000000 }
twig.config: { debug: true, auto_reload: true, cache: false }
sites/default/settings.php:
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
sites/default/settings.local.php:
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
sites/development.services.yml:
services:
cache.backend.null:
class: Drupal\Core\Cache\NullBackendFactory
parameters:
twig.config:
debug: true
auto_reload: true
cache: false
問題はどこだ?
Settings.local.phpの行をたどることで問題を解決しました。
# $settings['cache']['bins']['render'] = 'cache.backend.null';
行を複製して有効にし(その前の#を削除して)、render
をdynamic_page_cache
に変更します。つまり、次の行で問題が解決しました
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';
Drupal >= 8.8
で
$settings['cache']['bins']['render'] = 'cache.backend.memory';
Drupal 8.8では、sites/default/settings.local.phpにこれを追加するとうまくいきました:
$settings['cache']['bins']['render'] = 'cache.backend.memory';
いくつかの理由で、推奨として追加しようとすると( 'cache.backend .null')、次のエラーが発生します
Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: You have requested a non-existent service "cache.backend.null". Did you mean one of these: "cache.backend.apcu", "cache.backend.memory", "cache.backend.php"?
Drupal 8-のキャッシングを設定するのに苦労している人のために、filesフォルダーの外側にあるexample.settings.local.phpを、settings.local.phpのあるファイルフォルダーにコピーするだけです-コメントを外します$ settings ['cache'] ['bins'] ['dynamic_page_cache'] = 'cache.backend.null';-ここでも、コメントを外します$ settings ['cache'] ['bins'] ['page'] = 'cache .backend.null ';