1994 年,拉斯姆斯·勒多夫(Rasmus Lerdorf)创造了 PHP,这个时候的 PHP 只是用 Perl 语言编写的一系列 CGI 脚本,用于跟踪他在线简历的访问情况,统计他自己网站的访问者。
勒多夫把这些 CGI 脚本命名为 “Personal Home Page Tools”。这里我们姑且将之称为 PHP1 吧!这个早期的 PHP Tools 并不是一门语言,只是一些工具,提供基本的变量,并使用嵌入式 HTML 句法自动处理表单变量。
由于勒多夫写的这个小程序轻巧且简便,吸引了很多人的关注,1995 年,勒多夫发布了 PHP/FI 2.0 版本,该版本不仅可以做到访问数据库,还能嵌入到 HTML 中动态处理数据。
新版本的 PHP 吸引来了很多的程序开发者,其中包括 Zeev Suraski(泽埃夫·苏拉斯基)和 Andi Gutmans(安迪·古曼兹),他们后来加入到了 PHP3 的开发当中。
在 1997 年中旬,开始了 PHP 第三版的开发计划, Zeev Suraski 和 Andi Gutmans 加入到了开发小组中。1998 年末,PHP3 的第一个官方正式版发行,其特点是具有更好的执行效果和更清晰的结构。此外,该版本最强大的地方在于它的可扩展性,这一特点吸引了大量的开发人员加入并提交了一系列新的 PHP 扩展模块。
新版本的 PHP 有了一个全新的名字 “PHP: Hypertext Preprocessor”,这标志着 PHP 不再仅仅是个人网页的小工具。
在 PHP3 发布后不久,Zeev Suraski 和 Andi Gutmans 就开始投入到 PHP4 的开发当中,主要目标是增强程序运行性能和 PHP 自身的模块性。
新的 PHP4 采用“Zend”引擎作为核心,相同的 PHP 脚本在新版本中运行比旧版本性能提升了近十倍。
在 2000 年,PHP4 正式发布,主要增加了以下特性:
尽管 PHP 发展势头迅猛,但相比较于 Java 语言来说,还有很多问题,比如面向对象的支持不够完善,无法捕获异常(Exception)等,这导致多年以来 PHP 一直被人们认为是一门面向过程的语言。
2004 年 7 月,PHP5 正式发布,这标志着 PHP 进入到了一个全新的时代。并且往后多年,PHP 一直在 5 这个版本上迭代,这也是 PHP 历时最长的一个大版本。
PHP5 的核心采用的是第二代 Zend 引擎,并引入了对 PECL 模块的支持,最重要的是PHP5全面支持了面向对象机制。
由于 PHP5 小版本众多,下表中列出了各版本的发行年份与加入的新特性:
PHP版本 | 发行年份 | 新特性 |
---|---|---|
5.0 | 2004-07-13 | — |
5.1 | 2005-11-24 | — |
5.2 | 2006-11-02 | — |
5.3 | 2009-06-30 | 引入了命名空间、闭包和匿名函数 |
5.4 | 2012-03-01 | 引入性状(trait)、内置 web 服务器 |
5.5 | 2013-06-20 | 引入 PHP 生成器(generator)、MySQL 扩展被废弃,可使用 MySQLi 或者 PDO |
5.6 | 2014-08-28 | — |
2015 年 12 月 3 日,PHP7 问世了,这是 PHP 的一次质的飞跃。PHP7 不仅修复了大量 BUG ,还新增了一些功能和语法糖。这些变化涉及到了核心包、GD 库、PDO、ZIP、ZLIB 等熟悉和不熟悉的核心功能与扩展包。
PHP7 移除了已经被废弃的函数,如 mysql_ 系列函数(在 PHP5.5 被废弃,在 PHP7 被删除),同时 PHP7 的性能是 PHP5.6 的两倍。