2016-03-10 78 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)運行良好,具有國際聰明的評論。問題在於該錯誤消息是誤導性的。

將國際字符更改爲英文對應字符後,錯誤消失。

相關問題