聪明的tpl文件被缓存,无法更新

时间:2019-02-01 16:22:28

标签: caching smarty

以某种方式缓存所有tpl文件-至少我认为是这样...

如果我想更新文件,我需要重命名它,更新文件将始终输出以前的版本,即使已在服务器上将其删除。 我该如何解决?

btw:我之所以使用Smarty,是因为我必须这样做,而不是因为我想要(旧系统在过去15年中未更新),这就是为什么我真的不知道如何解决的原因。我找不到与Google合适的答案...

此帮助有效吗?如果可以,该如何使用? https://www.smarty.net/docsv2/en/caching.tpl

1 个答案:

答案 0 :(得分:0)

根据您所包含的链接中的文档,您可以执行以下操作:

  • 通过设置$smarty->caching = 0;(其中$smarty是您的模板)来完全禁用模板的缓存。
  • 您可以使用$smarty->clear_cache('template_name.tpl');或所有模板$smarty->clear_all_cache();手动清除模板的缓存。
  • 如果由于某种原因上述方法均无济于事,则可以手动删除模板的编译版本。它们位于变量$cache_dir中定义的目录中。
  • 您甚至可以编写脚本来独立于smarty清除此目录。但是对我来说,这是一个骇人听闻的优雅解决方案。
  • 如果在查找带有缓存模板的目录时遇到麻烦,可以按模板文件名搜索它。 smarty模板的编译版本只是一个php文件,其中包含从中编译模板的名称。该文件的随机名称较长。有了文件后,您可以检查文件所在的目录-它应该是带有缓存模板的目录。