从PHP 5.2升级到PHP 5.3 – 向后不兼容的更改 – 如何轻松检测?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了从PHP 5.2升级到PHP 5.3 – 向后不兼容的更改 – 如何轻松检测?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望将一个大的 PHP网站从5.2升级到5.3,之后可能会超越.

我正在处理的继承代码库是非常大的,800,000行代码,并且在大多数情况下查看向后不兼容的更改列表(http://php.net/manual/en/migration53.incompatible.php),使用代码字符串搜索可以轻松搜索大多数这些问题,但其他(例如作为引用和API更改)更难搜索.我已经使用codesniffer来尝试识别破碎的代码区域,但是代码似乎没有找到所有内容(例如,没有找到引用和API问题).

从本质上讲,我所追求的是一种轻松识别受影响代码方法,这些代码可能已经错过了,而无需运行所有代码或读取所有代码.是否一个工具可以基本上扫描代码并告诉我问题区域并节省我几周/几个月的时间?

有任何想法吗?我忘了提到我们使用IIS / Windows如果这很重要.

解决方法

通过寻找该页面上提到的特定功能,大多数显式向后不兼容的问题(如您链接页面上所列)很容易找到.这是一个相对较短的列表,而且变化都非常具体.即使在大型代码库中也不难浏览它们,并且列出的大多数更改都是边缘情况,所以希望您不必担心该列表.

更大的问题在于list of features that was deprecated in 5.3.这包括您在问题中提到的传递参考功能.

其中一些功能很难通过搜索代码来找到,特别是对于大型代码库,如果代码已经存在了一段时间,那么可能性很高,你至少会对它们中的一部分犯规.

好消息是,您可以安全地在5.3中运行代码,而无需触及已弃用的功能.这些功能已弃用;这意味着它们已被标记为坏,但它们实际上还没有从语言中删除(大多数都是5.4),所以关于这些功能,您的软件仍然会像以前一样运行,除了它会抛出警告信息.

因此,在代码中查找所有这些内容的最佳方法升级到5.3,运行代码,并捕获错误日志中出现的所有警告.

显然,你需要进行相当详尽的测试,以确保你已经找到了所有东西,但这并不一定是件坏事 – 事实上坦率地说,如果你升级的话,你不管怎样都不这样做该大小系统的语言版本.也许您可以将此作为一个机会开始编写那些您尚未设法解决的测试脚本.

脚本宝典总结

以上是脚本宝典为你收集整理的从PHP 5.2升级到PHP 5.3 – 向后不兼容的更改 – 如何轻松检测?全部内容,希望文章能够帮你解决从PHP 5.2升级到PHP 5.3 – 向后不兼容的更改 – 如何轻松检测?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。