PHP之父

2025年4月7日 | 阅读 6 分钟

PHP历史

正如今天所认识到的,PHP确实是名为PHP/FI的产品的后继者。它于1994年由Rasmus Lerdorf推出,PHP的第一个实现是一系列用C语言编写的通用网关接口(CGI)程序。最初用于跟踪他在线简历的访问量,他将这个脚本集命名为“个人主页工具”,更通俗地称为“PHP工具”。随着时间的推移,人们需要更多的功能,Lerdorf修改了他的PHP工具,使其能够实现更大、更丰富的版本。这个版本现在能够与数据库交互;这提供了一个结构化的框架,用户可以通过它更快地构建强大的Web应用程序。1995年6月,Lerdorf向PHP工具开发者社区发布了他的源代码,让全球的程序员和开发者都能充分利用它。这还允许并鼓励用户对代码进行错误修复,并很大程度上对其进行优化。

1995年9月,Lerdorf重新开发了PHP,并放弃了PHP这个名字。现在它被称为FI(“表单解释器”的另一种说法),新版本包含了一些我们今天所熟知的PHP的基本功能。它拥有类似于Perl的变量,可以自动识别表单变量,并且具有嵌入HTML的语法。PHP在语法上类似于Perl,但更精简、易用且效率更高。事实上,要将代码嵌入HTML文档,开发者需要使用HTML中的注释。然而,这种方法并未被完全接受。FI作为一种CGI工具继续受欢迎,但并不完全算作一种语言。

该语言特意设计成类似于C的结构,这使得熟悉C、Perl和当时普遍存在的语言的开发者很容易上手。然而,这种情况在下个月开始改变;1995年10月,Lerdorf对代码进行了全面修改。恢复了PHP的原始名称,它被暂时命名为“个人主页工具包”,它只是为了宣传自己是当时最先进的脚本解释器。

1996年中期,之前的代码得到了全面的改进。Lerdorf结合了之前更新的名称,重新推出了PHP - FI。下一代实现将PHP从一个工具集真正发展成了一门独立的编程语言。

它内置了对DBM、mSQL、Postgres95数据库等的支持。PHP - FI于1996年6月被命名为2.0版本。关于这一点的一个有趣事实是,PHP 2.0只有一个完整的版本。当PHP 2.0于1997年11月最终从beta版本升级时,其潜在的解析引擎已经开始被重构。虽然它没有持续很长时间,但PHP - FI在年轻开发者中的受欢迎程度和增长却持续增加,在1997年和1998年,PHP - FI拥有数千开发者的庞大社区。1998年的调查报告称,大约有60000个Web域名包含PHP作为关键词。这表明托管服务器以PHP为基础。这大约占当时互联网上所有域名的1%。尽管有这些惊人的数字,PHP - FI的开发却受到限制;虽然有一些小的贡献者,但它基本上还是由一个人开发的。

PHP - FI代码示例

PHP 3

PHP 3.0是与今天的PHP非常相似的主要版本。PHP - FI 2.0版本仍然无法满足构建电子商务应用程序所需的功能。1997年,来自以色列特拉维夫的Andi Gutmans和Zeev Suraski对PHP的核心解析器进行了又一次全面修改。他们在网上联系了Lerdorf,讨论了现有实现的一些修改以及他们对PHP的重新构建。为了改进解析器并利用PHP - FI现有的客户群,Andi、Lerdorf和Zeev决定合作开发一门新的、独立的编程语言。这门新编程语言在发布时使用了新的名称,消除了PHP - FI 2.0名称所带来的有限个人使用的含义。它被重命名为“PHP”,含义成为一个递归缩写——PHP:Hypertext Preprocessor(超文本预处理器)。

PHP 3.0最大的优势之一是其强大的可扩展性,为最终用户提供了完整的功能、协议和API接口,易于扩展语言本身吸引了许多开发者贡献了各种模块。PHP 3.0中引入的其他关键特性包括面向对象编程支持和更强大、更一致的语言语法。可以说,这是PHP 3.0取得巨大成功的原因。

1998年中期,随着世界各地众多新开发者的加入,新的PHP团队宣布PHP 3.0正式取代PHP - FI 2.0版本。PHP - FI 2.0的积极开发(几乎在去年11月停止)现在正式结束。在经过大约九个月的公开测试后,当PHP 3.0正式发布时,它已被安装在世界各地的70000多个域名中。它不再局限于符合POSIX的操作系统。报告安装了PHP的域名中有一小部分托管在Windows 95、98和Macintosh服务器上。在其鼎盛时期,PHP 3.0安装在当时互联网上运行的Web服务器的大约10%上。

PHP 4

1998年,PHP 3.0正式发布后不久,Andi和Zeev就开始着手修改PHP的核心。设计目标是进一步提高复杂应用程序的性能,并改进PHP代码库的模块化。PHP 3.0的新特性以及对第三方数据库和API的支持使得这些需求成为可能。然而,PHP 3.0并没有被设计成能够有效地处理如此复杂的应用程序。

新的引擎,名为“Zend Engine”,完美地实现了这些设计目标,并于1999年中期首次推出。基于这个引擎的PHP 4.0,结合广泛的其他新特性,于2000年5月正式发布,比其前身晚了近两年。这一版本的PHP 4.0在性能上得到了极大提升,并包含其他重要特性,例如支持更多Web服务器、HTTP会话、缓冲、更安全的处理用户输入的方法,以及一些新的语言结构。

PHP 5

PHP 5于2004年7月设计。其核心是Zend Engine 2.0版本,在核心的基础上进行了大量新功能的开发。

PHP的开发社区包括许多开发者,以及数十名从事PHP相关和支持性项目(如PEAR、PECL和文档)的人员。然而,尽管只是基于往年数据进行的估算,但可以安全地假设PHP目前已在全球数千万甚至数亿个域名上安装。

PHP 6和UNICODE

PHP 6于2005年作为Andrei Zmievski领导的项目启动。他打算通过PHP添加Unicode支持;他通过嵌入ICU库(也称为国际组件Unicode)来实现这一点。但由于人手不足,该项目陷入停滞,目前,PHP 5.3版本于2009年发布,随后在2010年发布了PHP 5.4,其中包含一些Unicode功能。