46

Symfonyのドクトリンのキャッシュをクリアする必要があります。

キャッシュをクリアするには、コマンドラインに何らかの方法が必要です。

または、キャッシュに属するファイルをどこで見つけて削除する必要がありますか?

4

6 に答える 6

135

Symfony 3+の場合:

 php bin/console

すべてのコマンドが一覧表示されます。以下はキャッシュに関連しています。

 php bin/console doctrine:cache:clear-metadata 
 php bin/console doctrine:cache:clear-query  
 php bin/console doctrine:cache:clear-result

Symfony 3の前:

app/console

あなたがそれを行う方法をリストします

 app/console doctrine:cache:clear-metadata 
 app/console doctrine:cache:clear-query  
 app/console doctrine:cache:clear-result 
于 2012-08-06T10:27:44.727 に答える
2

APC を使用する場合は、コードを呼び出すこともできます

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

同じサーバー上のphpページで。これは Antho's answer の deleteAll() メソッドが行うことですが、Doctrine クラスには依存しません。ところで: 完全なキャッシュはフラッシュされます - Doctrine 以外のものに使用する場合に備えて。

于 2016-06-29T19:08:28.277 に答える
0

これには少し遅れているかもしれませんが、私の場合、ドクトリンは本番環境でプロキシ クラスを生成しませんでした。そのため、auto_generate_proxy_classesを trueに変更します。

#symfony2&3 app/config/config.yml
#symfony4 config/packages/doctrine.yaml (by default true since 4.2)

doctrine:
    orm:
        auto_generate_proxy_classes: true #"%kernel.debug%"
于 2019-10-02T19:09:57.313 に答える