comments - 为什么我收到 "Fatal error: in ...smarty_internal_templatecompilerbase.php on line 8"错误消息?

标签 comments smarty fatal-error diacritics

我正在将旧项目从 PHP 5.X 迁移到 7.0.4,并将 Smarty 从 2.6.27 迁移到 3.1.29。解决了几个小问题后,我收到了一条令人惊讶的错误消息

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

奇怪的是,这个文件的第8行是多行phpdoc注释的中间。根本没有代码执行。

为什么显示此错误消息以及它的含义是什么?

最佳答案

经过痛苦的调查,结果发现错误消息的行号是正确的,但文件名却不对。错误不在上述 php 代码的第 8 行。它位于我模板的第 8 行。

模板文件是带有一些国际字符的 ISO-8859-2 编码文件:

BLAH
{ * részletezés  * }
BLA

模板文件第 8 行中的“részletezés”一词包含了罪魁祸首字符。

较旧的 smarty 版本 (2.X) 运行良好,并带有国际 smarty 注释。问题是错误消息具有误导性。

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

关于comments - 为什么我收到 "Fatal error: in ...smarty_internal_templatecompilerbase.php on line 8"错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35916151/

相关文章:

java - 使用scaledBitmap创建透明度/镜像效果时避免致命内存错误

php - 正则表达式查找未注释的字符串?

emacs - 如何取消注释emacs中的 block 代码

php - 我的代码有什么错误?

php - WHMCS 插件模块管理部分模板

logic - 为 Smarty 变量分配真/假值

postgresql - 如何在 PgAdmin 查询编辑器上打开评论 block ?

ruby-on-rails - 在 Ruby 中以编程方式访问属性/方法注释

PHP 单元测试 : Is it possible to test for a Fatal Error?

java - Android SimpleFTP 上传 FatalException