開発プラットフォームでは、キャッシュが面倒な場合があります。オフにできますか?それを必要とするモジュールに影響しますか?
devel module をインストールすると、管理者用のキャッシュクリアオプションが追加されます。キャッシュをすばやくクリアするためにリージョンに追加するdevelブロックを見つけるか、または admin men をインストールして左上にクイックメニューを表示し、Drupalでさまざまなキャッシュをクリアします。
コマンドラインが好きなら drush をインストールしてdrush cc all
コマンドを使用して、サイトのキャッシュをクリアします。現在、drush ccは、設定に該当する場合、Varnishキャッシュをクリアしないことに注意してください。
Drupal 7を使用している場合、通常はインストールプロセス中にのみ使用されるDrupalFakeCacheを使用するようにキャッシュを設定できます。これを設定するには、settings.phpに次のコードスニペットをドロップします。
include_once(DRUPAL_ROOT . '/includes/cache.inc');
include_once(DRUPAL_ROOT . '/includes/cache-install.inc');
$conf['cache_default_class'] = 'DrupalFakeCache';
管理>サイト構成の「パフォーマンス」ページで、選択したサイト要素のキャッシュを有効/無効にできます。テーマテンプレートは通常、より永続的にキャッシュされますが、同じ「パフォーマンス」ページ内でフラッシュできます。
「管理メニュー」モジュールは、キャッシュのフラッシュをより定期的に行う必要がある場合にツールバーにショートカットを提供します-テーマの開発中、私は常にフラッシュしていることに気づきます。
私が知る限り、キャッシングを必要とするモジュールはありません。オフにしたくない場合は、Site Settings > Performance
セクション。
キャッシュを無効にしてもDrupalは、キャッシュをクリアするまでテーマに追加された新しいファイルを認識しません。
Drupal.org にキャッシュをクリアするさまざまな方法に関するいくつかの情報があります。
メソッド Steve Hについて に加えて、 Devel モジュールを使用すると、さらにいくつかのオプションが開きます。
PerformanceでDevelモジュールとキャッシュがオフになっている場合、ルーチン開発で実行される他の主要なキャッシュはメニュールーターのみです。 Steveが述べたように、DevelまたはAdmin Menuを使用して再構築されました。
注意すべき重要な点の1つは、(テーマまたはモジュールからの)スタイルシートが多数ある場合、CSSファイルの最適化をオフにすると、IEでサイトが破損する可能性があることです。
実際にはキャッシュしていませんが、同じ設定ページにあり、キャッシュでよく使用されます。
ちなみに、管理メニューモジュールの[すべてのキャッシュをフラッシュ]リンクは素晴らしいです。
Drupal 6を使用している場合、 " Cache Disable "モジュールはそのタスクに便利です。 [何らかの理由で] Develのような重いモジュールをインストールしたくない。
Drupalで使用されるキャッシュの量は、ときどき狂うことがあります。
Drupalキャッシュを無効にしてクリアする一般的な方法とそれに関連付けられている方法を次に示します。
DISABLING CACHES:
一部のキャッシュはDrupalで必要とされるため、すべてのキャッシュを無効にすることはできません。
以下は、設定ファイルに次の行を追加してキャッシュを無効にする方法です。
// Disable caches
$conf['cache'] = 0;
$conf['block_cache'] = 0;
$conf['views_skip_cache'] = TRUE;
$conf['page_compression'] = 0;
$conf['preprocess_css'] = 0;
$conf['preprocess_js'] = 0;
すべてのキャッシュを無効にすると、Webサイトが非常に遅くなるため、開発マシンを免除する他の環境には推奨されません。
キャッシュのクリア
XCache
使用されている場合は、XCacheキャッシュをクリアします。
drush eval "function_exists('xcache_clear_cache') && xcache_clear_cache();"
または、上記が機能しない場合は、管理パネル(/ xcache-admin)のXCacheのキャッシュをクリアします。
eAccelerator
drush eval "function_exists('accelerator_reset') && accelerator_reset();"
[〜#〜] apc [〜#〜]
drush eval "function_exists('apc_clear_cache') && apc_clear_cache();"
OPCache
Clear PHP OPCache with PHP> = 5.5を使用している場合
drush eval "function_exists('opcache_reset') && opcache_reset();"
注:上記のCLIコマンドは、Apacheのキャッシュをクリアしません。 Opcache-PHP5.4以下でキャッシュを消去する 。
memcached
Memcachedを使用している場合は、次のいずれかの方法でmemcachedをクリア、再起動、または強制終了する必要があります。
ユーザーとして(これらのいずれか):
echo flush_all > /dev/tcp/127.0.0.1/11211
echo flush_all | nc localhost 11211 # Flush Contents Of a Memcached Server
ルートとして(これらの1つ):
/etc/init.d/rc.d/memcached restart
service memcached restart
killall memcached # It's automatically restarted on OSX.
また、設定ファイルに次の行を追加してmemcachedモジュールをインストールすることをお勧めします。
$conf['cache_backends'][] = 'sites/all/modules/contrib/memcache/memcache.inc';
したがって、Memcachedキャッシュは標準のDrupalキャッシュをクリアしてクリアされます。
ワニス
Varnishを使用している場合は、 Varnish モジュールをインストールし、設定ファイルに次の行を設定することをお勧めします。
$conf['cache_backends'][] = 'sites/all/modules/contrib/varnish/varnish.cache.inc';
したがって、ワニスキャッシュはDrupalキャッシュをクリアすると一緒にクリアされます。
あるいは、curlを使用してページを手動でクリアすることもできます。
curl -X PURGE -H "Host: domain.com" http://127.0.0.1/node/123
続きを読む: ワニスキャッシュをクリアするにはどうすればよいですか?
Drupal
クリアDrupal Drushによるキャッシュ:
drush cc all
echo "SHOW TABLES LIKE 'cache%'" | $(drush sql-connect) | tail -n +2 | xargs -L1 -I% echo "DELETE FROM %;" | $(drush sql-connect) -v
drush eval 'menu_rebuild();'
/ admin/config/development/performanceでも同じことを行うことができます。CLIからよりも良い方法でUIキャッシュがクリアされる場合があるためです。
すべてのキャッシュをクリアするのに役立つシェルスクリプトを次に示します。
#!/bin/bash
set -o xtrace
echo "SHOW TABLES LIKE 'cache%'" | $(drush sql-connect) | tail -n +2 | xargs -L1 -I% echo "DELETE FROM %;" | $(drush sql-connect) -v
echo 'flush_all' | nc localhost 11211 # Flush Contents Of a Memcached Server
drush eval "function_exists('opcache_reset') && opcache_reset(); function_exists('xcache_clear_cache') && xcache_clear_cache();"
drush eval 'menu_rebuild();'
set -o xtrace -
echo done.
古い質問ですが、私が行っていた検索に関連する質問としてポップアップ表示されました。
ほぼすべてのキャッシュ消去メソッドは、最終的に drupal_flush_all_caches を呼び出します。独自のコードでさまざまな状況でこれを呼び出すことで遊ぶことができます。
drupalのキャッシュをクリアするには、次のいずれかの方法を使用できます
1.)URL your_domain/admin/config/development/performanceにアクセスして、キャッシュのクリアボタンをクリックするだけです。
2.)drushモジュールをインストールした場合、このdrush cc allコマンドでキャッシュをクリアできます。
3.)データベースにアクセスできる場合は、次のコマンドでキャッシュをクリアできます(本番データベースへの直接アクセスはお勧めしません。サイトが「ライブ」の場合は、代わりにいずれかを使用してください)
TRUNCATE TABLEキャッシュ。
TRUNCATE TABLE cache_block;
TRUNCATE TABLE cache_bootstrap;
TRUNCATE TABLE cache_field;
TRUNCATE TABLE cache_filter;
TRUNCATE TABLE cache_form; //他のcache_ *テーブルとの重要な違いに注意してください-以下の詳細を参照してください
TRUNCATE TABLE cache_image;
TRUNCATE TABLE cache_menu;
TRUNCATE TABLE cache_page;
TRUNCATE TABLE cache_path;
TRUNCATE TABLE cache_token;
TRUNCATE TABLE cache_update;
4.)モジュールファイルdb_query( "DELETE FROM {cache};");にクエリを書き込むこともできます。
5.)cache_clear_all()のようなキャッシュをクリアするためにdrupal apiを使用できます。
6.)また、develモジュールによってキャッシュをクリアすることもできます。develモジュールをインストールし、これによって「開発者/開発ブロック」を有効にします。これにより、キャッシュをクリアできます。
他のcache _テーブルとは異なる目的を持つcache_formの詳細:
drupal_flush_all_caches()のコアAPIドキュメントは、「cache_formをクリアしないでください-進行中のフォーム送信が壊れる可能性があります。」この問題は、アクティブなユーザーがいるサイトにのみ適用され、開発バージョンには適用されません。
この投稿で説明されているキャッシュをクリアする他の手動の方法はcache_formに影響しません
本番サイトでcache_formのサイズを縮小する必要がある場合は、 キャッシュフォームテーブルのサイズが非常に大きい を参照してください。