如何清除Smarty错误或启用调试

时间:2013-01-16 12:04:49

标签: php debugging error-handling smarty

当我在Smarty遇到问题时,我会收到一条肮脏的错误消息。

如何启用调试模式或如何获取明确的错误消息?

这是一个示例错误:

Fatal error: Uncaught exception 'SmartyException' with message 'Unable to load template file 'list.tpl'' in
H:\Server\FrameWork\smarty\libs\sysplugins\smarty_internal_templatebase.php:127 
Stack trace: #0 H:\Server\FrameWork\smarty\libs\sysplugins\smarty_internal_templatebase.php(374):
Smarty_Internal_TemplateBase->fetch('news/li...', NULL, NULL, NULL, true) #1 
H:\Server\news\list.php(157): Smarty_Internal_TemplateBase->display('news/li...') #2 
H:\Server\news\news.php(24): include('H:\Serve...') #3 H:\Server\sec.php(13): 
include('H:\Serve...') #4 {main} thrown in 
H:\Server\FrameWork\smarty\libs\sysplugins\smarty_internal_templatebase.php on line 127

1 个答案:

答案 0 :(得分:0)

这是一个“回溯”或“堆栈跟踪” - 它向您显示错误发生的程序中的确切点,向后追溯到代码的最外层。

最有用的东西是:

  1. 第一行是一个非常合理的错误消息:'无法加载模板文件'list.tpl''
  2. 在提到Smarty内部部分的行之后,您可以看到H:\Server\news\list.php(157)。因此,在文件H:\Server\news\list.php的第157行,您要求Smarty呈现模板,这就是错误发生的地方。
  3. 所以看起来在这种情况下,你有一行PHP代码要求Smarty呈现一个不存在的模板。很难想象可以提供更多信息。