对PHP的版本开始有些抱怨,并对此有些疑问

2013-07-22 10:29:21 +08:00
 ety001
个人表示现在php的版本前进速度有些过快了,并且弄得很是让人纠结,维护了5.3,5.4不说,最近又上了5.5。不过5.3已经走到了最后一个版本5.3.27。国内貌似很多的应用当时的开发环境是5.2或者5.1,毕竟很多人都是直接在win上安装类似wampp,npmserv这样的傻瓜包来搭建开发环境的,我现在有这样几个问题:

1、5.2、5.3、5.4、5.5几个版本之间的区别何在?为何官方不在一个版本上走下去,而是要分散成几个版本去走,我的理解是,5.3、5.4、5.5在一定程度上有比较大的差异性,而每个版本又有很多人在用,没法立即停掉,或者说5.5和5.4这样的版本属于实验版本,5.3属于stable版,不知道我的理解对不对?

2、大家猜测下php官方在未来合并或者逐步停掉某版本的更新吗?或者更换下这种版本路线方式?

3、大家平时生产环境的版本号多少?生产环境大约多长时间进行一次版本升级?开发环境与生产环境的版本时候有差别,版本差多少?
9207 次点击
所在节点    PHP
29 条回复
Oishi
2013-07-22 10:33:13 +08:00
PHP 5.3.27 Released - PHP 5.3 Reaching End of Life

11-Jul-2013
The PHP development team announces the immediate availability of PHP 5.3.27. About 10 bugs were fixed, including a security fix in the XML parser (Bug #65236).

Please Note: This will be the last regular release of the PHP 5.3 series. All users of PHP are encouraged to upgrade to PHP 5.4 or PHP 5.5. The PHP 5.3 series will receive only security fixes for the next year.

For source downloads of PHP 5.3.27 please visit our downloads page, Windows binaries can be found on windows.php.net/download/. The list of changes is recorded in the ChangeLog.

http://php.net/archive/2013.php#id2013-07-11-1
Oishi
2013-07-22 10:34:06 +08:00
5.3除非有安全修复,否则不会更新啦
Sunyanzi
2013-07-22 10:44:17 +08:00
我不太能理解为什么你会说 php 前进的速度过快 ...

在我看来 ... 一年一个大版本的速度还是挺稳的 ...

关于版本之间的区别 ... 你的理解是错的 ...

任何一个不带 dev 尾缀的版本都是 stable 版 ... 没有什么实验版本一说 ...

关于为什么要升级版本号 ... 我的理解是因为引入了一个比较大的功能 ...

比如 5.3 系列的 closure ... 5.4 系列的 traits ... 5.5 系列的 generator ...

其他还有一些不是主力功能的新更新 ... 比如 namespace ... 也只在新版本才有 ...

这样的好处是发布软件的时候可以只写 ... phpVersion >= 5.3 ...

而不用特别指明 phpVersion > 5.2.15 这样 ...

关于第二点 ... php 在未来不会合并版本 ... 但一定会逐步停掉某版本的支持 ...

至于更换版本路线 ... 到 6.0 之前都不太可能 ...

我并不是说到 6.0 就会变更 ... 只是 6.0 之后的未来我看不到而已 ...

现在我的生产环境的 php 版本是 5.4.9 ... 近期准备换 5.5.0 ...

我的升级原则基本是本地跑一遍没问题 ... 等一个月没看到差评就更 ...
saharabear
2013-07-22 10:49:53 +08:00
@Sunyanzi 握手,同样的运维规则。我是等一个月,没有大差评就更新,目前生产环境都是5.4.16 近期准备更换5.5.0
cai314494687
2013-07-22 10:54:16 +08:00
5.3
ety001
2013-07-22 11:12:17 +08:00
@Sunyanzi 其实每个大版本有一个新的重要功能这一点我是肯定支持的,但是我更喜欢一个大版本发布后,官方应该尽快停掉上一个版本的更新,推动大家转向新版本,感觉官方长时间维护两个版本还是让人很纠结的,不升级总感觉心里是个事,升级又是很累的活并且看到官方还在更新上一个版本就心存侥幸(多活一天是一天的感觉),可能是上一次一个半道接手的项目从5.1直接搞到5.4让我产生阴影了。。。。
ety001
2013-07-22 11:14:45 +08:00
@Sunyanzi 另外我看上个月lnmp一键安装包也是才更新,从原来的默认5.2.17到了现在默认5.3。
laogui
2013-07-22 11:26:00 +08:00
5.5就是stable版,因为大部分人不升级,所以官方不得不维护老版本,官方当然希望大家都升级到5.5了。

linux也是罪魁祸首,源里面都是老版本,所以想用新版必须编译安装,麻烦了点。

现在PHP新版本会抛弃一些老旧的东西,所以有不少程序用新版会出错。

前几天我升级到了5.5,用了自带的Zend Opcache,编译的时候加上--enable-opcache就行了,很方便,再也不用装apc,eAccelerator什么的了。
Sunyanzi
2013-07-22 11:50:16 +08:00
@ety001 关于版本停止这个事情 ... 官方确实是在这么做的 ...

支持中的版本一般只有两个 ... 一个是最新的版本 ... 一个是之前的版本 ...

比如现在维护中的版本就只有 5.4 和 5.5 两个 ...

等到 5.6 发布 ... 对 5.4 的支持也会停止这样 ...

跨版本的升级是个麻烦事 ... 因为新版本不止多了东西还少了东西 ...

有很多 5.1 下面正常跑的代码放到 5.4 下面就各种报错 ...

事实上 ... 如果不是开发人员的话 ... 没必要追新 ...

我现在的内部框架是在 5.4 的年代写的 ... 大量用到 closure 和 traits ...

随着每个大版本的发布有轻微的修改 ... 这样升级不会很痛苦 ...

现在我带新人 ... 也都是直接从 5.5 上手的 ...

跟随 php 一起成长 ... 对新人来说是个很好的体验 ...

但是如果你在维护一个 4.x 年代的大项目 ... 我的建议还是不要升级版本了 ...

php 的每一代都有其存在的意义 ... 一个已经成型稳定的系统没必要折腾它 ...

语言终归只是工具 ... 为自己所用才是最关键的 ... 盲目追求版本什么的没必要不是 ..?
Sunyanzi
2013-07-22 12:12:07 +08:00
刚看到你的补充问题 ... 为什么要在生产环境上新版本 ...

这个事情要分成两种情况来说 ... 一种叫做升级换代 ... 5.4.n -> 5.5.m ...

这样的更新一般都是为了使用新的大功能 ...

这种更新需要谨慎 ... 下手之前一定要再三确定程序可以兼容新一代的 php ...

另外一种情况叫做版本更新 ... 5.4.n -> 5.4.m ... 其中有 m > n ...

这样的更新比较随意 ... 随着 php 的每一个版本发布都有 ChangeLog ...

读读看 ... 如果有对你程序里面所使用的功能的优化就更 ... 没有的话可更可不更 ...

更了肯定没坏处 ... 不更的话也不会影响什么 ... 一个一个更或者跳着版本更都可以 ...

你可以注意到我的生产是 5.4.9 ... 而不是最新的 5.4.17 ...

没更的原因并不是因为 php 本身有什么问题 ... 而是因为我懒得更 ... 就是这样 ...
raincious
2013-07-22 12:12:34 +08:00
PHP版本还好,都是追最新的版本就好了,最起码没有Python 2.7和3.0的问题。

现在PHP版本的主要问题其实还是在一些服务器上的PHP版本太老的缘故,一些特性还没有被支持。

其实我觉得……玩PHP的同学们真的是太幸运了……
Hyperion
2013-07-22 12:17:47 +08:00
http://php.net/archive/2013.php#id2013-07-11-1
PHP 5.3.27 Released - PHP 5.3 Reaching End of Life

changelog里都写着嘛... PHP版本如果没有大的安全问题, 重新编译替换有时候好麻烦, 特别是追加了扩展之后... 如果没必要个人做法是不会去动的, 少动少错.
Hyperion
2013-07-22 12:25:08 +08:00
@raincious ...这个基本没有可以类比的比方吧...? python3根本就没有向下兼容了...

另, PHP为啥懒得升级? PHP新版本有去掉一些函数和函数别名, 有些臃肿的程序除了用到这些函数还玩了很多奇技淫巧, 改都没办法改. 但PHP始终在语法上还是向下兼容的, 和py的情况不一样...
BOYPT
2013-07-22 13:00:26 +08:00
PHP本来就是一个“缺陷驱动”发展的语言,有什么不好的,改。本来就没有特别良好设计,都是那样修修补补过来的。

5.1 5.2 5.3都已经停掉更新了,你愿意的话可以永远地“稳定”下去。
whuhacker
2013-07-22 14:20:27 +08:00
性能的提升,这个我很看重。
新的语言特性倒是很少有用到,因为做 Web 项目选定了一个开发框架,接触到新特性的机会比较少。这样看本质还是在跟框架走,而非语言,除非自己写框架。
z50hz1988
2013-07-22 18:01:47 +08:00
5.2到5.3上有挺大的差异吧. 在面向对象方面和资源回收方面都挺多的改进的. 再往上没听说有什么非常特别的变化, 要是新版本没有放映出啥bug就升级下呗... 再说,不升级你不难受么?! 不难受么?! 不难受么?! ^_^
iCodex
2013-07-22 21:41:21 +08:00
@laogui Opcache还在beta阶段,我在5.4下安装测试,发现和wordpress的w3tc插件有不兼容的情况。
ety001
2013-07-22 21:46:40 +08:00
@z50hz1988 恩,5.2到5.3的确差异不小,不升级的确很难受,要么说纠结呢。。。唉,这是病,得治啊,O(∩_∩)O~
PrideChung
2013-07-22 22:16:49 +08:00
居然还有嫌PHP版本出得快的,我还嫌它慢呢。2010就在喊PHP6要发布了,结果一些预定要在PHP6添加的功能已经给做到5.3,5.4里面去了,看这个势头PHP6还要过几年。

用过5.4的数组语法就再也不想用5.3了。
ety001
2013-07-23 07:52:27 +08:00
@PrideChung 那看来你运气好,没有遇到蛋疼的事,遇到一次你就恶心了,真的。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/76554

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX