【发布时间】:2011-01-14 16:49:34
【问题描述】:
我开始学习 PHP。我想使用 PHP 5.3,因为它是迄今为止的最新版本。我正在做一个项目,在这个项目中我将使用别人给我的 PHP 5.2 脚本。
即使我使用的是 PHP 5.3,它们还能正常运行吗?
【问题讨论】:
-
php.net/manual/en/migration53.php 应该有你需要知道的一切。
标签: php backwards-compatibility
我开始学习 PHP。我想使用 PHP 5.3,因为它是迄今为止的最新版本。我正在做一个项目,在这个项目中我将使用别人给我的 PHP 5.2 脚本。
即使我使用的是 PHP 5.3,它们还能正常运行吗?
【问题讨论】:
标签: php backwards-compatibility
PHP.net 提供guide 用于从 PHP 5.2.x 升级到 PHP 5.3。这包括关于backwards compatibility 的部分。
根据我的经验,从 5.2 到 5.3 的过渡非常顺利。我的应用程序遇到的唯一问题是确保我的 DateTime 设置是在我的 php.ini 中配置的属性,并过滤掉一些开始出现的过于激进的弃用警告。
【讨论】:
不,5.3 不向后兼容,无论如何不应将其视为次要版本升级。 有一个专门用于不兼容更改的页面:http://www.php.net/manual/en/migration53.incompatible.php 还要考虑您设计但已被 5.3 接受的功能。由于 php 不支持函数的重载或覆盖,这会报错。
【讨论】:
在大多数情况下,次要版本不会给您带来问题。你应该没事的。
显然,如果您确实有任何问题,您需要确保已将error_reporting 设置为查看所有错误。 PHP: error_reporting
此外,请查看手册以了解 5.3 与 5.2 的更改:Migrating from PHP 5.2.x to PHP 5.3.x
【讨论】:
有一些小问题。不推荐使用按引用传递的调用时间。有新的保留字(即 goto)。
【讨论】:
php 在所有版本中都没有向后兼容性。它经常在更改版本时删除一些功能。当您必须升级服务器并需要更改 php 版本但某些 php 脚本不再适用于新的 php 版本时,就会出现此问题。您还必须更正 php 脚本,这是一项更大的工作。但是,如果脚本属于其他用户而不是您的,则无法升级这些脚本。这是一个真正令人头疼的情况,我受够了 php 并出于向后兼容性的原因改用 perl。
【讨论】: