【发布时间】:2009-06-26 15:43:19
【问题描述】:
我使用 php 4 编写的代码库。我想完成将代码升级到 php 5(我的主机提供的最新版本)的过程。我想知道是否有其他人经历过类似的升级体验并可以分享存在的问题/陷阱、我的代码需要更改的内容、两个版本之间不向后兼容的内容?
【问题讨论】:
标签: php backwards-compatibility php4
我使用 php 4 编写的代码库。我想完成将代码升级到 php 5(我的主机提供的最新版本)的过程。我想知道是否有其他人经历过类似的升级体验并可以分享存在的问题/陷阱、我的代码需要更改的内容、两个版本之间不向后兼容的内容?
【问题讨论】:
标签: php backwards-compatibility php4
看看guide for migrating from PHP 4 to 5。尽管有一些backward-incompatible changes,您现有的 PHP 4 代码应该仍然可以正常工作。
【讨论】:
查看Migrating from PHP 4 to PHP 5.0.x 文档页面。 最重要的部分是Backward Incompatible Changes。 只要您在之前的应用程序中没有使用类和对象,array_merge 可能是您唯一会遇到的主要问题。
请勿启用zend.ze1_compatibility_mode 配置变量。
【讨论】:
根据我的经验,痛苦的主要来源是代码依赖于 PHP 4 中已弃用的功能。这些通常是:
没有搜索和替换功能可以帮助您识别此类内容。删除它会导致大量难以发现的故障。保留它们会导致无法维护的代码。设置激进的error_reporting 级别会导致无穷无尽的通知。
【讨论】: