2016-03-10 81 views
1

我正在将一个旧项目从PHP 5.X迁移到7.0.4,将Smarty从2.6.27迁移到3.1.29。解决几个小的问题后,我得到了一个惊人的错误消息为什么我会收到“致命错误:在... smarty_internal_templatecompilerbase.php第8行”错误消息?

Fatal error: in C:...\smarty-3.1.29\libs\sysplugins\smarty_internal_templatecompilerbase.php on line 8

奇怪的是,这个文件的8号线是一个多线PHPDoc的评论的中间。根本没有代码执行。

为什么显示此错误消息,这是什么意思?

回答

1

经过一番痛苦的调查后,事实证明,错误消息的行号是确定的,但文件名不是。错误不在所提到的PHP代码的第8行。它在我的模板的第8行。

模板文件是一个ISO-8859-2编码的文件与一些国际字符:“részletezés”在模板文件的8号线

BLAH 
{ * részletezés * } 
BLA 

这个词包含的罪魁祸首字符。

较旧的smarty版本(2.X)运行良好,具有国际聪明的评论。问题在于该错误消息是误导性的。

将国际字符更改为英文对应字符后,错误消失。

相关问题