簡體   English   中英

Symfony2-緩存文件中的相對路徑

[英]Symfony2 - relative path in cache file

我與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',

有什么辦法可以將其更改為相對路徑?

運行TemplatePathsCacheWarmer ,將其配置為使用kernel.cache_dir 如果您知道已安裝應用程序的路徑,則可以通過運行帶有環境變量的 cache:warmup 替換參數來覆蓋此路徑:

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

我在這里嘗試使用相對路徑的成功有限(可以傳遞"../" ,但是我不確定100%的模板與之相對)。 當您具有可變的應用程序目錄路徑(例如帶有時間戳的發行文件夾)時,這將非常棘手。

最好的方法是使用cache命令中的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM