2

私は Symfony2 を使用しています。キャッシュされたファイルをサーバーに配置する前に準備したい (同じマシンではない)。

問題はコンテンツ ファイルにあります。一部のファイルはリソースへの絶対パスで構成されているためです。次に例を示します。

file: ./dev/classes.php.meta , 
file: ./dev/templates.php,
file: ./dev/assetic/routing.yml

'WebProfilerBundle:Profiler:toolbar_item.html.twig' => '/var/www/symfony/vendor/symfony/symfony/src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar_item.html.twig',

相対パスに変更する方法はありますか?

4

2 に答える 2

0

実行するTemplatePathsCacheWarmerと、 を使用するように構成されますkernel.cache_dir。インストールされたアプリケーションのパスがわかっている場合はcache:warmup 、環境変数を使用して実行し、パラメーターを置き換えることでこれをオーバーライドできます。

SYMFONY__kernel__cache_dir=/srv/myapp/app/cache php app/console cache:warmup

ここで相対パスを使用しようとしてもうまくいきませんでした ( を渡すことは可能"../"ですが、テンプレートが何に対して相対的かは 100% わかりません)。これにより、可変のアプリ ディレクトリ パス (たとえば、タイムスタンプ付きのリリース フォルダー) がある場合は注意が必要です。

于 2015-04-30T14:27:45.407 に答える
-1

これを行う最善の方法はwarmup、キャッシュ コマンドからプロセスを使用することです。オプション
を渡さずにコマンドを実行するだけで、キャッシュをクリアできます。no-warmup

php app/console cache:clear --env=prod --no-debug

オプションを使用するno-warmupか、フォルダーの内容を手動で削除する場合は、次のコマンドcacheを実行する必要があります。warmup

php app/console cache:warmup --env=prod

http://symfony.com/doc/master/cookbook/deployment-tools.html#c-clear-your-symfony-cache

于 2013-04-05T16:07:31.907 に答える