0

在 Windows 环境中使用 Smarty 模板(在 WAMP 上)。一切正常。就在我想让它在家里用 Ubuntu 上的 LAMP 工作时,奇怪的事情发生了:我看到我的 Smarty 模板在浏览器中正常工作,但是当我对我的 .tpl 文件进行更改时,Apache 似乎没有赶上使用新的模板状态。我没有收到错误或其他东西,我只是继续看到相同的旧模板,就像它被永久缓存一样。Apache 重启不能解决这个问题。有人对此有所了解吗?

4

4 回答 4

0

您可以通过在“$smarty = new Smarty;”之后添加这两行来解决它

$smarty->caching = false;
$smarty->force_compile = true;

这对开发很方便,但在生产中应该避免。

于 2015-03-03T18:34:23.677 回答
0

清除我的 templates_c 目录后,该文件夹似乎没有写入权限。我给了它一个 chmod 777 现在它工作正常。

于 2012-10-25T07:23:05.080 回答
0

家里的 $compile_check 参数不是设置为“false”吗?默认情况下它是“真”,但也许你在某处将它设置为“假”? http://www.smarty.net/docsv2/ru/variable.compile.check.tpl

于 2012-10-24T09:23:09.370 回答
0

如果您使用 Smarty 缓存,那么这肯定是问题所在。

尝试刷新缓存。在命令之前$smarty->display('template.tpl')尝试放置:

// clear only cache for template.tpl
$smarty->clear_cache('template.tpl');

或者

// clear out all cache files
$smarty->clear_all_cache();

希望这可以帮助!

于 2012-10-24T09:23:37.390 回答