我应该升级到PHP 5.3吗?

4

PHP 5.3版本已经发布,虽然看起来很不错,但是我的所有代码已经正常工作。我不知道这个新版本提供了什么新特性来证明升级的必要性,因此我认为除非我需要使用新特性,否则无需升级。

但是出于良好的实践,我是否应该升级呢?


2
“有趣的评论” 你真的应该这样做。 新的“跳转标签”运算符看起来很棒:GOTO :-D - Brian Clozel
4个回答

13
你可能会考虑升级,仅仅是因为“PHP运行速度和内存使用改进”以及错误修复。来源。我还想说,如果你在任何地方使用create_function,你应该升级并用更清晰的lambda替换那个丑陋、恶心的混乱。这里是从5.2版本迁移的指南。

我认为与你自己的代码升级和错误修复所需的时间相比,“改进的PHP运行速度和内存使用”可能很难推销。就个人而言,这就是我用来压制好奇心直到5.3.1发布的方式。 - Kzqai

2
我认为您需要回答几个重要问题来帮助做出这个决定。其中最重要的是,您的网站/产品/客户做什么?如果您管理一个应用程序(比如CMS或购物车),那么您需要了解许多主机不会立即升级,因为他们等待官方支持的操作系统软件包/RPM,并且需要时间来构建、测试和发布。
如果这只是在专用服务器上运行的自定义站点,同样的问题也可能很重要。虽然在这种情况下,您总可以手动编译,但如果您像我一样对干净、有组织的服务器非常挑剔,那可能并不是最好的选择。正如Jason提到的,据说有显著的速度提升,而像WishCow所说的,如果您使用create_function(),现在可以放弃它们以使用更清晰的代码。
还要记住任何第三方库/扩展(PECL、PEAR、Zend Framework、Drupal、WordPress或自定义编写)的使用,可能由于某种原因尚不能在5.3上工作。
如果可能的话,进行干运行升级总是更好的选择。我在家里桌子旁边有一台服务器,可以用来升级并打开分析器,查看我的站点的性能如何,并确保一切正常。如果您无法这样做,那么您必须小心,因为如果事情不顺利,可能会有一些停机时间。

1

有两件事可能会引起你的兴趣,第一是用lambda替换create_function(),另一个是研究后期静态绑定。 现在LSB可用,有几个问题可以以更加优雅和高效的方式解决。

就我个人而言,我期待特性,但它没有包含在这个版本中。 当我发现时,我很难过:(. 现在我甚至不记得为什么我认为它会包括在5.3中。


0

我正在考虑同样的事情...如果有任何升级来修复错误,请确保检查兼容性,因为在这个版本中有一些变化(goto、命名空间、参数解析、mhash等)。

用lambda替换create_function本身就足以升级,使用create_function的内存使用和开销是荒谬的。

请检查迁移指南http://us.php.net/migration53


兼容性是我的主要问题。 - user47322
是的。我很想升级到5.3版本尝试新功能,但我不想为了尝试新功能而独自处理5.2.6和5.3之间的差异并进行调试。 - Kzqai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接