php 5.4 上的 Symfony2
Symfony2 on php 5.4
我需要将我的 Symfony2 网站更改为新服务器,我注意到新服务器当前安装的是 php 5.4,而 Symfony2 至少需要 5.5.9。通过做一些测试,他们发生了一些错误,例如:
php.CRITICAL: Fatal Parse Error: syntax error, unexpected 'class'
(T_CLASS), expecting identifier (T_STRING)
{"type":4,"file":"/home/admin/web/websitename.com/app/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php","line":62,"level":6143,"stack":[]}
[]
这应该是版本的产物。我想知道是否有人遇到过这个问题并在 php 5.4 中安装了 Symfony2,可能是该框架的旧版本。我知道最简单的方法是更新 php 的版本,但目前这不是一个选项。
提前致谢
将 Symfony2 项目移动到另一台具有不同版本 php 的服务器(尤其是当它是较低版本时)会导致像您这样的错误。
尝试删除您的 vendor
目录,也许备份您的 composer.lock
并通过 运行 composer install
重做全新安装。
此外,首先要手动删除缓存目录中的所有内容并验证服务器目录的权限。
因为问题似乎出在 doctrine common bundle 中,我尝试使用它的一些旧版本,寻找与 php 5.4 兼容的版本,特别是当函数 ::class
未被使用时的版本.最后它与下一个组合一起工作:
"doctrine/common": "2.4.2",
"doctrine/dbal": "2.4.4",
"doctrine/orm": "2.4.7",
"doctrine/doctrine-bundle": "~1.2"
更新作曲家并完成。
我需要将我的 Symfony2 网站更改为新服务器,我注意到新服务器当前安装的是 php 5.4,而 Symfony2 至少需要 5.5.9。通过做一些测试,他们发生了一些错误,例如:
php.CRITICAL: Fatal Parse Error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) {"type":4,"file":"/home/admin/web/websitename.com/app/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php","line":62,"level":6143,"stack":[]} []
这应该是版本的产物。我想知道是否有人遇到过这个问题并在 php 5.4 中安装了 Symfony2,可能是该框架的旧版本。我知道最简单的方法是更新 php 的版本,但目前这不是一个选项。
提前致谢
将 Symfony2 项目移动到另一台具有不同版本 php 的服务器(尤其是当它是较低版本时)会导致像您这样的错误。
尝试删除您的 vendor
目录,也许备份您的 composer.lock
并通过 运行 composer install
重做全新安装。
此外,首先要手动删除缓存目录中的所有内容并验证服务器目录的权限。
因为问题似乎出在 doctrine common bundle 中,我尝试使用它的一些旧版本,寻找与 php 5.4 兼容的版本,特别是当函数 ::class
未被使用时的版本.最后它与下一个组合一起工作:
"doctrine/common": "2.4.2",
"doctrine/dbal": "2.4.4",
"doctrine/orm": "2.4.7",
"doctrine/doctrine-bundle": "~1.2"
更新作曲家并完成。