【问题标题】:Question relates to "Parse error: syntax error, unexpected 'class' (T_CLASS) in FpdiTrait.php"问题与“解析错误:语法错误,FpdiTrait.php 中的意外'类'(T_CLASS)”有关
【发布时间】:2019-01-24 21:07:53
【问题描述】:

我从所有线程中看到,这个问题在不同的环境和不同的形式中多次出现。我见过的大多数答案都建议更改 PHP 版本。这是我的谜题。我的客户有一个在 PHP5.6 上运行的网站。我有一个从他的根目录运行的安装,它运行良好。我在该代码中使用$pdf = new fpdi(); 效果很好。

好的...我已将测试代码降低了一层,它的 url 只需调用 root level/my sublevel/mycode.php。在这里,php文件是完全一样的,只是在不同的文件夹中运行(所以,我应该在主机的相同PHP设置下)。但是,我得到了错误,

Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /home4/ldhrnhb9/public_html/musanizer/RNHB-MusicCamp-2019/src/FpdiTrait.php on line 103

任何不涉及 php 版本更改的想法?请记住,相同的代码在 PHP5.6 下运行,只是上一级文件夹。

谢谢, 弗兰克

【问题讨论】:

  • 哦,我忘了补充一点,fpdi() 的新子级别中的源代码(相对)位于工作代码中。不可能是路径问题
  • 只有在 PHP 版本 mycode.php 中的 phpversion() 输出是什么?
  • HMMMM ...好电话。我的日志显示为 2019-01-25 06:36:51 5.4.45 ... 5.4.45 是 phpversion() 的返回。这简直颠覆了我对 PHP 的理解。由于托管服务运行的是 PHP 5.6??
  • 我相信这会为我解决问题。我按照客户的主机管理员的话,一切都在 PHP5.6 上......他错了......让我失去了几个小时的挫败感和重新编码等。经验教训:永远不要相信别人的话关键信息...自己测试一下!

标签: fpdf fpdi


【解决方案1】:

您的 PHP 版本必须至少为 5.6,您可以在 composer.json 中阅读

"require": {
    "php": "^5.6 || ^7.0",
    "ext-zlib": "*"
},

【讨论】:

    猜你喜欢
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 2014-04-02
    • 2011-10-26
    相关资源
    最近更新 更多