我已经使用 PHP7 开发了应用程序,但在服务器上有 PHP5,我们无法在那里升级 PHP

I have developed am application using PHP7 but on the server there is PHP5 and we cannot upgrade the PHP there

请帮助我,我已经使用 Yii2 框架开发了一个应用程序,它需要 PHP5.6 或更高版本,并且在测试服务器上部署该应用程序时我注意到我们正在使用的测试服务器上PHP5.5,所以请告诉我我能做什么?测试服务器是运行Ubuntu。 (Yii2 的最低要求是 PHP5.6,我们使用 PHP5.5)

谢谢。

如果我没记错的话,PHP 5.5.X 和 5.6.X 并没有什么不同。因此,如果您可以部署您的应用程序并且它 运行 正确,那么您应该没问题。不过,如果您使用的是作曲家,则可能更难(或不可能)欺骗您的 PHP 版本。

我的两分钱: 您标记了 AWS(因此可能标记了 EC2),那么为什么不更新您的 PHP 版本呢?你为什么不 运行 你的申请 PHP 7.X 呢?这是一个很大的改进 - 性能方面。

阅读下面链接的 PHP 文档,特别是向后不兼容的更改和弃用的功能。如果您使用其中任何一个,则需要更改代码。如果你不这样做,那么你应该没事。你需要测试一下。

http://php.net/manual/en/migration56.php

你可以尝试一些事情...

1) 是否需要在测试服务器上安装来自 Composer 的开发模块?如果没有,请安装 composer —no-dev

2) 另一个值得在测试服务器上尝试的开关是“--ignore-platform-reqs”我不推荐它,即使 composer install 文件应用程序可能无法运行。

3) 如果以上方法不适合您,请修改您的 Composer 文件以加入您的环境约束,更改您的本地环境以匹配测试服务器,并在必要时重构应用程序。我会这样做,而不是在 Yii1 中重写整个应用程序。

您可能想要编辑您的问题并添加有关您的 composer.json 文件的信息。您是否将 composer.lock 文件提交到源代码管理?

此外,对于贵公司而言,使用任何早于 PHP 5.6 的版本都是不明智的。 PHP 5.6 的安全支持将于 2018 年 12 月结束。http://php.net/supported-versions.php