PHP Smarty现在函数返回随机日期

时间:2013-01-29 14:17:39

标签: php date smarty template-engine smarty2

我正在使用Smarty 2.6.9,我发现我遇到了以下代码块的问题。

Copyright © {$smarty.now|date_format:'%Y'} CRMPicco. All rights reserved

Smarty产生的日期似乎是随机的,有时它是8780,有时它是1872年...正如我所说,完全随机。

我发现这似乎也是一个环境问题,因为它在我的开发环境(CentOS 5.6)中有效,但在测试环境中被破坏了。现在,我意识到这将指向测试环境中的配置问题,但我在整个代码库中使用PHP日期函数,如果它不能正常工作,我很快就会知道它。

我很感激我可能会得到一些建议:“如果PHP日期函数有效,那么将其发送到您的Smarty模板”,但是必须有一种方法可以在Smarty中完成吗?

这是Smarty中的错误还是配置问题?

1 个答案:

答案 0 :(得分:2)

这是一个有点知名的configuration issue,由$smarty->plugins_dir未正确设置(或阻止访问该目录的其他一些问题)引起。

date_format是Smarty plugin的名称,但它也是PHP function的名称。如果Smarty无法找到它的插件,那么它将回退到调用PHP函数,该函数需要一组完全不同的参数。由此产生的破损就是你所看到的。