2011-01-14 65 views
8

我开始学习PHP。我想使用PHP 5.3,因为它是目前为止最新的版本。我正在开发一个项目,我将使用某人给我的PHP 5.2脚本。PHP 5.3向后兼容PHP 5.2吗?

即使我使用PHP 5.3,他们会运行得很好吗?

+8

http://www.php.net/manual/en/migration53.php应该都有需要知道的。 – 2011-01-14 16:50:44

回答

10

PHP.net提供了一个guide从PHP 5.2.x升级到PHP 5.3。这包括关于backwards compatibility的部分。

从我的经验来看,从5.2到5.3的过渡非常流畅。我的应用程序遇到的唯一问题是确保我的DateTime设置属性是在我的php.ini中配置的,并过滤出一些开始出现的过分贬低警告。

+1

+1。对我来说也非常平稳的过渡。我碰到的一个问题在这里描述:http://stackoverflow.com/questions/4673472/php-5-3-and-assigning-the-return-value-of-new-by-reference – mfonda 2011-01-14 17:11:47

2

大多数情况下,小版本发布不会导致您的问题。你应该没问题。

显然,如果您确实有任何问题,您需要确保您已设置error_reporting以查看所有错误。 PHP: error_reporting

此外,从5.2检查5.3更改手册:Migrating from PHP 5.2.x to PHP 5.3.x

5

不,5.3不向后兼容,并通过各种手段它不应该被看作是一个次版本升级。 有一个页面专门用于不兼容的更改:http://www.php.net/manual/en/migration53.incompatible.php 还考虑您已设计但已被接受的功能5.3。由于php不支持重载或覆盖函数,这会导致错误。

+0

“考虑你有的功能设计但已被接受到5.3“哇,这是一个罕见的/随机的事情指出:D,但为什么-1? – Hannes 2011-01-14 17:01:50

2

有一些小问题。通过引用的呼叫时间传递已被弃用。有新的保留字(即。goto)。

0

php在所有版本中都没有向后兼容性。它在更改版本时通常会删除一些功能。当您必须升级服务器并需要更改php版本,但某些php脚本不再使用新的php版本时,会出现问题。你还必须纠正一个更大的工作PHP脚本。但是,如果脚本属于其他用户而不属于您的用户,则无法升级这些脚本。这是一个真正令人头痛的情况,我厌倦了php并改用perl来代替以实现向后兼容的原因。