2012-08-06 22 views
24

doctrine'sキャッシュをSymfony 2にクリアする必要があります。symfony2教義クリアキャッシュ

のコマンドラインで何らかの方法でキャッシュをクリアする必要があります

また、キャッシュに属するファイルはどこにありますか?

+5

'rm -rf app/cache/*'は助けになりませんでしたか? –

+0

答えが役に立ちますか?いいえの場合は、app/consoleキャッシュを使用してキャッシュをクリアしてください:clear – amitchhajer

+1

が役に立ちました。 –

答えて

89
app/console 

は、あなたが(Doctrine's documentationから)あなたのコードの中にそれを実行したい場合、あなたはそれを

app/console doctrine:cache:clear-metadata 
app/console doctrine:cache:clear-query 
app/console doctrine:cache:clear-result 
+0

ありがとうございました – Gigala

+0

ちなみに、mongodbを使用している場合は、「app/console doctrine:mongodb:cache:clear-metadata」を実行するか、「app/console doctrine」を実行するだけで利用可能なすべてのオプションが表示されます – Gigala

+2

すべてのコマンドを表示するには 'app/console list'を、' doctrine 'ネームスペースにコマンドを表示するには 'app/console list doctrine'を使うことができます。 – caponica

8

を行うことができますどのように一覧表示されます:

あなたは、単にすべてのキャッシュエントリを削除する場合あなたは deleteAll()メソッドを使ってそうすることができます。あなたはAPCを使用する場合は

<?php 
    $cacheDriver = new \Doctrine\Common\Cache\ArrayCache(); 
    $deleted = $cacheDriver->deleteAll(); 
+7

ここで私はこのコードを書いていますか? – Gardner

+1

キャッシュをフラッシュするのとは何ですか? – Czechnology

0

、あなたもちょうど同じサーバ上でPHPページ内のコード

<?php 
$deleted = apc_clear_cache() && apc_clear_cache('user'); 

を呼び出すことができます。これはAnthoの答えのdeleteAll()メソッドが行うものですが、あなたはDoctrine Classesに依存しません。 Btw:完全なキャッシュはフラッシュされます。あなたがDoctrine以外のものに使用する場合に備えてです。

1

私は教義の結果キャッシュに狂っていると思った。結局memcachedを再起動しなければならなかった。