17611538698
webmaster@21cto.com

1.1.1 PHP发展简史

章节 3/3 | 学习时间: 10 最小
1.1.1 PHP发展简史


PHP诞生于1994年,由时年17岁的丹麦籍程序员Rasmus Lerdorf创建。 







1-1 PHP创始人Rasmus Lerdorf


 

 从二十世纪九十年代开始,Web应用均按CGI标准编写。所谓CGICommon Gateway Interface,通用网关接口)是1993114NCSA Mosaic制定并颁布的标准规定了相关细节,允许Web服务器连接到高级编程语言来生成动态网页,最初实现的语言只有PerlC 

PHP的首个版本使用Perl开发完成,用于Rasmus Lerdorf个人主页,记录访客并与其互动,包括留言板、用户验证、数据统计与数据存储 

1995年,Lerdorf个产品命名为个人主页工具/表单解释器Personal Home Page Tools/Form Interpreter,简称为PHP/FI 

随着访问Rasmus Lerdorf的网站访客逐渐增多,网站响应速度开始变慢,这是由于CGI技术设限所至致,其每次运行都会创建一个新进程,导致服务器内存占用越来越大,内存溢出后导至服务器宕机。 

Lerdorf后来C重写了PHP/FI内核,实现了与数据库的交互,包括新的语法结构支持变量、条件与循环语句,支持自定义函数,这个重构的内核被命名PHP 2.0 

PHP 2.0性能PHP/FI了不少除了借鉴Perl变量命名、表单处理等特性,它还具备嵌入到HTML中运行的能力,这也是PHP之后区别于其它Web开发语言的独特之处。 

Lerdorf意识到Linux等开源软件的优势潜力,遂决定也将PHP开源。接着Lerdorf就到开发者聚集的新闻组、邮件列表等渠道宣布PHP内核完全开源,包括内核代码文档,希望让更多的利用来建立动态网站Web应用,让Web开发效率更 

199711月,PHP/FI 2.0正式发布并提供给公众开放下载。在接下来的时间,用PHP构建的网站增长到5多个。此时一些开发者开始参与其中,帮助Lerdorf一起完善功能与扩展Lerdorf仍按既定的开源式与来自全世界的志愿们一起协同工作。 

PHP 2.0发布的同一个月,两位来自以色列理工学院的大学生Andi GutmansZeev Suraski开始Lerdorf深度合作,三人协同完成PHP 2.0的内核开发。后来两人Lerdorf一部分工作,负责构建和升级PHP内核的任务。 

为了减少旧名称中的一些模糊和歧义,重新构建的语言仍沿用PHP的名,按照开源GNU协议重新修正PHP的正式全称:“PHP Hypertext Preprocessor”,即超文本预处理器 

所谓名正言顺PHP从此正式步入主流计算机编程语言列。 

€œZeev Suraski”的图片搜索结果 

1-3 PHP 3.0始人之一 Zeev Suraki 

文本框;;;;;;;;;;;;;;;;;;;;;;;;;;; 

 

 

 

€œAndi Gutmans”的图片搜索结果 

1-4 PHP 3.0的创始人 Andi Gutmans 

文本框 

 

 

 

Andi GutmansZeev Suraski接棒Lerdorf,开始着手重写内核,并将版本号定3.0,简称为PHP3。从此,PHP的开发维护从Rasmus Lerdorf一个人,变成Lerdorf为首,加Andi GutmansZeev Suraski以及Stig BakkenShane CavaveoJim Winstead分布于全球不同地区的技术极客组成的开发团队,称为PHP小组(PHP Group)。 

2PHP3  

PHP3在公开测试9个月后,于199866发布正式版本。 

PHP3增加了一些实用扩展模块,具备更健壮底层架构,开始提供面向对象语法支持,更强数据处理能力。由于PHP3整体运行速度快,这使得PHP服务器部署量猛增,截止到1998年,使用PHP的网站约有500,超过80万以上独立IP相当于当时世界10%以上的网站都用PHP作为主力语言。 

3PHP4 

由于PHP3受到广泛欢迎,GutmansSuraski又冒出大胆的想法两人决定重新构建PHP内核引擎,使其性能变得更好,能够支撑更复杂和健壮的应用,同时把基础应用进行模块化。 

1999年,在以科技创著称的以色列,一名为Zend Technologies科技公司诞生同时它告即将发布PHP新内核,而这家公司的创始人正是GutmansSuraski,而Zend名字源自GutmansSuraski名字的前半部分——ZeevAndi 

 

1-5 Zend 科技公司官网(https://www.zend.com) 

2000522日,PHP4 Zend Engine 1.0新内核正式亮相。它除了提供更好的性能外还支持更多类型的Web服务器,增加了会话管理、输入输出缓冲以及系统支持等特性。此版本受益于世界各地数十位开发者的贡献,在全球扩展到20%的网站都开始使用PHP,例如雅虎E-TradeCraglist大型互联网公司产品PHP开始成为Web开发强大动力之一。 

20088PHP4发布4.4.9,此为 4.x最终版本,在持续维护8后被 PHP5代替 

4PHP5 

虽然PHP4已经能够胜任绝大多数的Web应用,仍有为数不少的开发者抱怨”说PHP4在面向对象机制方面的欠缺,致使在开发大型企业级应用方面存在不足。 

另外,脚本程序通常针对Web方式交互的用户,开发者还需要一种应用服务Application Server)的功能,就是让PHP可以脱离浏览器,在命令行工作台下也可运行short for Command Line InterfaceCLI模式,而很多应用开发,需要在操作系统后台实现自动化的服务功能,这一需求在PHP5中得到了相应支持。 

PHP 5.02005推出,开始与PHP4并行过一段时间。经过一些大小功能修复,PHP 5.4稳定版于20128月发布。接下来的一年,20138PHP 5.5发布,成为大多数平台的主版本。2018426日,PHP 5更新至5.6.36 

值的一提的是,从PHP5开始就有一些中国人参与其中,如PHP手册汉化的乔楚,OpCache的作者惠新宸以及异步多线程服务器Swoole作者韩天峰,另外国内知名的PHP框架ThinkPHP作者刘晨也是从2006年开始的基础开发,继而成为中国受欢迎的PHP框架之一。 

PHP5的生命周期长达14,此版本开发的应用软件所占比例也最多。但随着技术内外部环境的变化,PHP5面临着安全、性能以及本身架构方面挑战,此版本的使命2018底正式完成。 

4PHP6 

PHP 6早在2010年初就开始发布它移除了PHP5向下兼容能力,添一些诸如命名空间等特性。由于这些新特性在与PHP 5.x兼容方面存在一些问题,某些模块设计也不稳定,因此开发者的口碑PHP 5那么好。后来PHP小组索性PHP6部分新功能回炉到PHP 5.6 

PHP6一直处于Beta版状态PHP5并存了很多年。随着越来越多的特性转到了PHP 5.6,余下就是Unicode 内核和语法方面的改进,这似乎也变得不那么紧要,而且新特性需要开发者的编码习惯也需要慢慢调整,修改项目旧代码来适应PHP6非一之功于是彻底成为一个过渡版本。 

2011上半年,这个名字的PHP彻底止维护。 

5.   PHP7 

201512月,PHP 7.0正式发布。 

在此之前,PHP5受到HHVM(全称为Hip Hop Virtual Machine)的强烈挑战,HHVM源自Facebook的内部项目,Facebook 最初完全使用PHP开发,后来成为全球最大的社交网站。由于每天有几亿级流量访问,性能成为它的最大瓶颈,于是其内部团队尝试改造PHP源码以打造新的解析引擎,它的机制是PHP代码实时编译中间码,然后再转换为x64位机器代码以达到最佳性能。发现效果不错,后来Facebook就将HHVM开源,一度受到PHP开发者的追捧,如果不是代码兼容问题几乎快成了PHP新分支 

 

1-3 hhvm官网(https://www.hhvm.com 


受到HHVM 的“刺激”PHP开发小组发起了PHPNG 项目 (PHP Next-Gen),这群Geeker们在该项目做了非常大的努力特别是性能上做了非常大的跃升它内置新的Zend EngineZend OpCache、改进的垃圾处理GCHugePagePGO等特性,在语言层更加严谨、规范。 


辛苦和迭代没有白费,PHP 7.4版本成为一个新里程碑,该版本受到开发者的广泛赞誉和主流应用版本,同时挽回了HHVM所受到的影响。 


6.   PHP8 

PHP 8202012月份正式发布。除了加入预加载、FFIForeign Function interface)新特性,最值得一提的就是JIT编译器Just in time缩写,运行时直接编译为机器代码PHP 8还推出了联合类型变量,还有很多语法和函数的一性等方面进一步优化,与现代编程语言在架构体系上保持一 


此外,PHPMVC框架异步PHP静态分析工具等现代级开发工具亦在不断完善,Laravel SymfonyZend以及国内的ThinkPHP生态正呈现蓬勃发展态势。