php - 如何在不重写或审查所有代码的情况下在版本 5 - 7 之间迁移 PHP 代码

标签 php php-7

<分区>

我正在查看当 PHP7 完全发布时我正在使用的代码库从 PHP5 更新到 PHP7(主要是由于速度提升和 ?? 运算符可以真正帮助我们的网站)。

由于有一些已弃用的函数,以及一些版本之间的更改,我正在考虑在包含它们之前对 php 文件使用 filemtime,看看我是否应该包含将修改 php7 的行为以使其更像 php5 的函数关于那些文件。虽然这将在现有服务器上运行,但我知道各种复制方法(有些在管道中难以控制)可能会在复制文件时更改修改日期。

是否有一种方法可以确定文件使用哪个 php 版本编写或兼容并适本地解释它们,或者这个 hacky 和冒险的解决方案真的是我最好的选择吗?

最佳答案

在寻找解决方案时,我看到的解决方案受到启发:link

简而言之...

  1. 创建两个不同的本地主机服务器
  2. 设置每个本地主机链接到不同版本的 php
  3. 然后编写从旧代码中提取的代码,就像从不同的服务器中提取一样。
  4. 在初始迁移后稳定地将文件从旧版本的 php 迁移到新版本。

因此,不必迁移整个代码库,而是可以一次迁移一个 block ,而不必一次做全有或全无。它还应该比 filemtime 解决方案更耐用。缺点是很难立即将旧代码集成到新代码中。

仍然对更好的解决方案感兴趣,但至少它是解决方案。

关于php - 如何在不重写或审查所有代码的情况下在版本 5 - 7 之间迁移 PHP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32636163/

相关文章:

php - 尝试在 mpdf 中添加 css。但无论如何不接受

php - fatal error : Allowed memory size of 134217728 bytes exhausted (tried to allocate 262144 bytes)?

php - Laravel 和 Sentry : How to set a custom tag in Sentry?

php - 在 ArrayObject 中循环和取消设置时 foreach 出现意外行为。一个项目被忽略

php - 上传文件到 MySQL blob 字段 file_get_contents() : failed (from input type ="file")

javascript - 相同的按钮具有相同的效果 - jquery OOP

php - 简化我的 Jquery xajax 之类的功能

php - 有没有办法在 PHP 中扩展特征?

linux - 在 Amazon EC2 中从 php 5.3 和 apache 2.2 升级到 php 7 和 apache 2.4

PHP - 在浏览器下载之前在服务器中调整图像大小