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 回答