0

当我在 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
4

1 回答 1

0

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

最有用的发现是:

  1. 第一行是一条非常合理的错误消息:'无法加载模板文件'list.tpl''
  2. 在提到 Smarty 内部部件的行之后,您可以看到H:\Server\news\list.php(157). 因此,在文件的第 157 行H:\Server\news\list.php,您要求 Smarty 呈现模板,这就是错误的来源。

因此,在这种情况下,您有一行 PHP 代码要求 Smarty 呈现一个不存在的模板。很难想象还能提供更多信息。

于 2013-01-16T22:28:09.580 回答