(注:本文来自网络)

超过75%的网站使用了PHP作为开发语言,wordpress,phpmyadmin和其他一些开源项目的盛行,带来了一大批的长尾用户。然而,他们一般安装之后却很少升级。下图是目前PHP的使用统计。

惊人的是,此图的左半部分表示已经不被支持的PHP版本。PHP 5.2早在2011年1月已经不再维护。这并不意味着你就不能使用它,但是这意味着某些安全更新,你就无法跟进了。一些发行版将尝试修复一些BUG,但你的PHP版本似乎有点乏善可陈,因为,你正在使用的是2006年的过时技术。

该从哪里开始

已经没有人选择PHP 5.2版本了,但这些事情已经发生了,但我不是说我写这篇博客来吐槽什么,更不是说给你一些升级的指南。通常他们使用的都是一些2006开始的主机空间,他们有一个“长期支持”的版本,来避免使用更新的版本,或者他们目前还没有升级的打算。又或者,理由真的很多。然而,好东西在新版的PHP等着您。

PHP 5.3 加入了很多有用的OOP特性!例如:匿名函数,SPL扩展不仅仅是迭代器,神话般的DateTime扩展都已经集成在PHP 5.3里面。还加入极其重要的E_DEPRECATED的错误报告标志。它会提醒您现在用的那些特性,将在下一版本无法使用。如果您已经在使用PHP 5.3,那么您往后的升级道路将会更加顺畅。如果您有线上程序运行在低版本,我不建议您升级。

PHP 5.4则进行了一系列的优化,它具有更快的执行效率和更少的内存占用。以下是基准测试的结果。

不管你使用使用到traits特性,PHP 5.4提高了程序性能,并降低了硬件成本。所以,我建议您使用开源软件的时候要保持升级。

PHP 5.5 还在测试当中,不适用于生产环境。自PHP 5.3之后,升级的风险和改动都会大大降低。

未来

说实话,未来是属于那些使用PHP5.4及以上的人。保持升级,定期跟踪语言的新特性和进展是我们日常工作的一部分。如果您已经落后了,那么我强烈建议您开始做升级计划,升级到一个比较新的版本。努力是值得的,毕竟程序是长年累月运行的。

Php:学习笔记(一):版本选择的更多相关文章

  1. 学习 Docker 操作系统版本选择

    近来有时间一直在捣鼓 Docker.因为服务器选择的是 CentOS 版本,所以实验的环境选择的一直是 CentOS.如果是个人玩 Docker,优先选择 ubuntu.如果需要选择 CentOS 的 ...

  2. Vue学习笔记-chrome84版本浏览器跨域设置

    一  使用环境: windows 7 64位操作系统 二  chrome84版本浏览器跨域设置   报错问题:Indicate whether to send a cookie in a cross- ...

  3. JavaScript学习笔记之下拉选择框的操作

    对于下拉框的操作十分繁多,这几天项目须要就总结一下 一.动态构建option 有时候我们须要动态构建下拉选择框里面的值,这里我们就要用到 var varItem = new Option(" ...

  4. JQuery学习笔记【CSS选择符】--02

    Jquery的程序入口: <html> <head> <title></title> <script type="text/javasc ...

  5. Excel开发学习笔记:文件选择控件、查找匹配项、单元格格式及数据有效性

    一个自用的基于excel的小工具. , ), .Cells(, ))          sysKpiRow.Interior.ColorIndex =  ).value = , )           ...

  6. Python3+Selenium3+webdriver学习笔记7(选择多链接的结果、iframe、下拉框)

    #!/usr/bin/env python# -*- coding:utf-8 -*- from selenium import webdriverfrom selenium.webdriver.co ...

  7. CockroachDB学习笔记——对此的选择

    无意间了解到TiDB,然后知道了他是一款国产团队开源的NewSQL数据库, 看了一下官网,有很多中文的文档和技术分享挺不错的. 但是安装起来好像挺麻烦的说. 测试的硬件环境 也吓死我了,我只有一台笔记 ...

  8. 吴裕雄--天生自然MySQL学习笔记:MySQL 选择数据库

    连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库. 从命令提示窗口中选择MySQL数据库 在 mysql> 提示窗口中可以很简单的选择特定的数据库.可以使 ...

  9. git的使用学习笔记--项目版本操作

    一.使用场景 版本回退:上线失败--需要回退到上个版本 二.操作 先编辑  vim text.txt git status git add .       这个命令能看到所有的增加操作 git com ...

  10. 3.6html学习笔记之样式选择

    1.元素选择器 *{padding:0;margin:0;} p,span{} 2.类选择器 *.class{} p.class{} <p class="important class ...

随机推荐

  1. Ajax跨域:jsonp还是CORS

    跨域一般用jsonp,兼容性比较好.CORS是html5最新的XHR第二版本,不支持IE8,IE9,对移动端的支持非常好.但是考虑项目后期这部分会转到同域名下,而且网址不需要支持ie8,ie9,所以我 ...

  2. Can I Win

    In the "100 game," two players take turns adding, to a running total, any integer from 1.. ...

  3. 久违的phpstorm

    原文:http://www.cnblogs.com/buyucoder/p/5291771.html 原文:http://idea.lanyus.com/

  4. 备份了我的CSDN博客

    刚用cnblogs的“博客搬家”功能把我此前在csdn发的所有文章都备份过来了. 发现cnblogs的博客备份功能比较好的一点是——文章的发表时间和原来的一致! 上次在CSDN发博客的时间是2015- ...

  5. 10分钟了解设计模式(C#)

    最近把<大话设计模式>重温了下(看完序才知道原来作者是也是博客园园友,这本书的最早博客版本在这里).体会最深的就是面向接口编程的重要性,如何在自己的项目中进行抽象,合理的利用各种设计模式. ...

  6. Mac系统下开启和关闭隐藏文件的方法

    在Mac下找到终端,输入以下命令(注意区分大小写): 显示Mac隐藏文件的命令: defaults write com.apple.finder AppleShowAllFiles -bool tru ...

  7. Yii 1开发日记 -- Ajax实现点击加载下一页

    功能实现:先输出一页的内容,然后点击加载下一页,如图 1.控制器中 /** * 消费记录:列出用户购买章节的记录 */ public function actionMyPayHis() { //点击加 ...

  8. ubuntu下命令杂项

    一. 1.用sudo apt-get install python3-numpy之后,会默认把numpy安装到  /usr/lib/python3/dist-packages目录下,而且版本比较低. ...

  9. SecureCRT如何与Linux虚拟机进行关联

    首先在宿主机上确认虚拟网卡是否正确工作,并查看其IP地址,如本例中,宿主机的虚拟网卡VMnet8的IP地址为:192.168.121.1/24. VMnet8是VMware用于NAT连接的虚拟网卡. ...

  10. **crontab的使用方式介绍和no crontab for root 提示的处理

    crontab的使用方式介绍   定时任务参数详解如下:  crontab -l     |  crontab -e    www.2cto.com   #*/30 * * * * ntpdate 1 ...