先升级 symfony 2.8 还是 php 5.4?

Upgrade symfony 2.8 or php 5.4 first?

我很快就要开始一个项目了,之前我只是想问问这个问题。 该项目在 php 5.4 的 symfony 2.8 上。 目标是将 symfony 升级到 3.4(可能 4.x 以后)和 php 到 7.x(可能是 7.2)。 所以这是我的问题:是否有更好的顺序来做到这一点? Php 首先是 5.4 到 7.2 还是 symfony 2.8 到 3.4(或者无关紧要)? 谢谢你的建议。

首先——您将无法在 PHP5.4.

上 运行 Symfony 3.4 项目

截至 2018-11-26

最新的 Symfony ^3.4 版本是 v3.4.19,需要 php: ^5.5.9|>=7.0.8

另一方面,最新的 Symfony ^2.8 版本是 v2.8.48,它需要 php: >=5.3.9

结论

您将无法在 PHP 5.4 上 运行 Symfony 3.4 项目,但理论上您可以 运行 Symfony 2.8 项目与 PHP 7.2.

您还应该考虑看看: http://php.net/manual/en/migration70.incompatible.php

只要 Symfony 允许,我会先PHP。跟进 PHP 代码的变化比跟进大 PHP 框架的变化要容易得多。

最好的方法是使用Rector(我写的一个工具)进行即时升级:

vendor/bin/rector process src --level php53
vendor/bin/rector process src --level php54
vendor/bin/rector process src --level symfony30
vendor/bin/rector process src --level php55
vendor/bin/rector process src --level symfony31
vendor/bin/rector process src --level php56
vendor/bin/rector process src --level symfony32
vendor/bin/rector process src --level php70
vendor/bin/rector process src --level php71
vendor/bin/rector process src --level symfony33
vendor/bin/rector process src --level symfony34

总是一次一个小版本


我在这个post中总结了很多升级网站的经验:How to Upgrade Symfony 2.8 to 3.4