【问题标题】:Symfony2 on php 5.4php 5.4 上的 Symfony2
【发布时间】:2016-05-19 18:35:28
【问题描述】:

我需要将我的 Symfony2 网站更改为新服务器,并且我注意到新服务器当前安装的是 php 5.4,而 Symfony2 至少需要 5.5.9。通过进行一些测试,他们正在发生一些错误,例如:

php.CRITICAL:致命解析错误:语法错误,意外的“类” (T_CLASS),期望标识符 (T_STRING) {"type":4,"file":"/home/admin/web/websitename.com/app/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php","line":62, “级别”:6143,“堆栈”:[]} []

这可能是版本的产物。我想知道是否有人遇到过这个问题并在 php 5.4 中安装了 Symfony2,可能是框架的旧版本。我知道更新 php 版本的简单方法是,但目前这不是一个选项。

提前致谢

【问题讨论】:

  • 其实Symfony3用的是5.5.9,Symfony2.8还是用5.3.9。
  • 作曲家安装后,您应该会收到有关不兼容的消息
  • 我只是上传源代码,安装在localhost,版本为5.5.11。
  • 天哪,找个新服务器!
  • @DevDonkey 最好是专用或虚拟专用服务器:P

标签: php symfony php-5.4


【解决方案1】:

将 Symfony2 项目移动到具有不同 php 版本的另一台服务器(尤其是当它是较低版本时)会经常导致像您这样的错误。

尝试删除您的 vendor 目录,也许备份您的 composer.lock 并通过运行 composer install 重新安装。

另外,手动删除缓存目录中的所有内容并验证服务器目录的权限是第一件事。

【讨论】:

  • 感谢您的回答,但真正的问题是 php 版本和学说,几分钟后我将发布解决方案。
【解决方案2】:

由于问题似乎出在通用捆绑包中,因此我尝试使用它的一些旧版本,寻找与 php 5.4 兼容的版本,特别是未使用函数::class 的人。最后它与下一个组合一起工作:

"doctrine/common": "2.4.2",
"doctrine/dbal": "2.4.4",
"doctrine/orm": "2.4.7",
"doctrine/doctrine-bundle": "~1.2"

更新作曲家并完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 2017-08-29
    • 2015-04-20
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    相关资源
    最近更新 更多