2016-08-29 7 views
3

私はSymfony 2.8を使用しています。Symfonyはコントローラの変更をキャッシュしません

コントローラーファイルを変更してプロダクションサーバーに変更をロードしましたが、php app/console cache: clearを使用せずに、使用しないで変更内容を確認できます。app_dev.php

Twigファイルを変更しても何も起こらないので、変更をapp_dev.phpから運用環境に移送するためにキャッシュをクリーニングする必要があります。

なぜですか?

+1

キャッシングTwigテンプレートは、解析された純粋なPHPコードの形でそれらを保存することです。キャッシュされたコントローラとキャッシュされていないコントローラとの違いは? –

+0

symfonyは、開発環境を完全に別のものとするために、オリジナルファイルを読み込まずにキャッシュに記録するファイルの最初の使用を想像しました。 symfonyのキャッシュに関する小さな文書が見つかりました。あなたが助けてくれれば大変感謝しています。 –

+0

phpのopcacheを実稼働環境で有効にしていることを再度確認してください。コントローラファイルを変更すると、キャッシュは関連付けられません。これは、opcacheが無効になっているときにphpが単にディスクからファイルを読み込むためです。 Twigにはコンパイルのステップがあり、トリガーが必要です。 – jedifans

答えて

2

コントローラはSymfonyにキャッシュされません。コントローラの読み込みには時間がかかるロジックはありません(これは単なるPHPコードです)。

プロダクションサーバにデプロイするときは、必ずcache:clearコマンドを使用してキャッシュをクリアしてください。 web/ディレクトリのapp_dev.phpファイルと使用されていないその他のPHPファイルも必ず削除してください。運用環境では、dev環境を実行しないでください。

関連する問題