设为首页 收藏本站
查看: 477|回复: 0

[经验分享] 关于PHP 5.3.0

[复制链接]

尚未签到

发表于 2015-8-26 10:01:13 | 显示全部楼层 |阅读模式
  六月三十号,PHP.net发布了5.3.0版本的Release版本。
一直没有时间来关注,今天特别去看了一下,增加了很多有意义的新特性:比如众望所归的命名空间支持。
原本以为这会在PHP6里才会实现,没想到5.3.0就增加了。在PHP6之前,5.3.0也确实算得上一个比较值得关注的版本了。
简单列举一下比较值得关注的特性,关于全部的更新日志可以参考ChangeLog(http://www.php.net/ChangeLog-5.php#5.3.0)
另外PHP团队提供了一个专题来指导如何将5.2.x的项目迁移到5.3.0,参见http://www.php.net/migration53
由于没有linux的环境,因此只能在win下分析一下,欢迎拍砖。
  1、更改mysql的扩展为mysqlnd
  mysqlnd是MySql专为PHP6设计的驱动,采用PHP开源协议,避免了版权争议,并且置于php内部了。仔细对比就会发现5.3.0的windows版本中少了libmysql.dll这个文件,正是因为使用了mysqlnd驱动,因此libmysql.dll这个外部驱动也没必要存在了。使用mysqlnd驱动并不会改变使用mysql或者是mysqli的使用方式,并且会提升一些性能。
  2、去掉了ISAPI扩展
  想要在IIS中使用PHP 5.3.0,没办法再像以前那样在IIS添加.php扩展名到php5isapi.dll上了。所以在IIS上使用PHP 5.3.0的方式只有CGI和Fast-CGI两个选择了。现在还有谁会用老古董的CGI么,所以只能用Fast-CGI了。
  由于手头只有vista环境,下面将在介绍IIS7下使用PHP 5.3.0
  1)打开IIS的CGI功能
  依次打开 控制面板-程序-打开或关闭Windows功能,打开 Internet信息服务-万维网服务-应用程序开发功能-CGI(选中此选择框后将同时打开CGI和FastCgi功能)
DSC0000.png
  2)添加PHP 5.3.0支持
  打开IIS管理器,选择服务器(应用到所有网站)或者某个网站(应用到单个网站)。选择处理程序映射选项,将会列出所有程序映射。在右侧选择添加模块映射。然后路径填写为*.php(如果要处理其他扩展名,依次添加即可),模块选择FastCgiModule,可执行文件选择PHP 5.3.0下的php-cgi.exe即可。名称自定,如需要更多设置,点击请求限制。
DSC0001.png
  3)设置php.ini
  php.ini放置于PHP 5.3.0文件夹下即可,设置方式和以前没有什么不同。不过要设置date.timezone = Asia/Shanghai,不然运行时会报错。ok,然后就可以看phpinfo()了,需要什么扩展,自行打开就行了。
  3、命名空间支持
  在PHP 5.3.0中终于添加了命名空间支持。PHP程序员一直的都是很傲气的,因为他们有众多强大无比的开源项目(Drupal、Wordpress等等),可是提到命名空间却不得不无奈。现在PHP团队终于将本来构思在PHP6中的命名空间提早到了PHP 5.3.0。在PHP中使用命名空间同样使用namespace关键字。
  4、静态延迟绑定
  在PHP 5.3.0增加了静态延迟绑定支持。增加了使用static关键字和get_called_class()等几个函数来实现访问继承树中的特定成员。
  5、闭包
  PHP 5.3.0中增加了对闭包的支持,可以方便的使用匿名函数或者Lambda表达式。可以将函数放在一个变量中。这个对笔者来讲才是最期待的功能。
  6、垃圾回收机制
  在PHP 5.3.0中增加了可选的垃圾回收机制。作为可选的功能,看来PHP团队对这个功能也不怎么上眼。毕竟对于Web来说,页面执行完毕后,所有的资源全部释放掉了,也没必要特意的处理资源回收。聊胜于无吧。
  7、优化了大量的函数,修复了大量的bug
  根据PHP.NET的说法,修复了超过140个Bug。增加了若个扩展。另外优化了很多已知函数的性能,比如md5()速度就提升了10%以上。关于全部的更新,可以参考ChangeLog(http://www.php.net/ChangeLog-5.php#5.3.0)
  
  5.3.0这个版本提供了大量的新功能,并且对整体性能进行了大幅度的优化,整体性能的提升到达10%左右。所以,可能的话,还是赶快把项目升级到5.3.0吧。
  参考:
  ChangeLog
  Migrating from PHP 5.2.x to PHP 5.3.x
  php 5.3带来了什么

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-104355-1-1.html 上篇帖子: php如何设置编码格式 下篇帖子: 表格展示无限级分类(PHP版)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表