简明现代魔法 -> PHP服务器脚本 -> PHP的诞生与发展历程

PHP的诞生与发展历程

2009-08-07

简介

PHP(PHP:Hypertext Preprocessor)是一种在计算机上运行的脚本语言,主要是用途在于处理动态网页,也包含了命令行运行界面(Command Line Interface),或者产生图形用户界面(GUI)程序。

PHP 最早由 Rasmus Lerdorf 在1995年发明,而现在PHP的标准由PHP Group和开放源代码社群维护。PHP 以 PHP License 作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不兼容。

PHP 的应用范围相当广泛,尤其是在网页程序的开发上。一般来说 PHP 大多运行在网页服务器上,通过运行PHP代码来产生用户浏览的网页。PHP 可以在多数的服务器和操作系统上运行,而且使用 PHP 完全是免费的。根据2007年4月的统计数据,PHP 已经被安装在超过2000万个网站和100万台服务器上。

PHP是一个应用范围很广的语言,特别是在网络程序开发方面。一般来说 PHP 大多在服务器端运行,通过运行 PHP 的代码来产生网页提供浏览器读取,此外也可以用来开发命令行脚本程序和用户端的GUI应用程序。PHP可以在许多的不同种的服务器、操作系统、平台上运行,也可以和许多数据库系统结合。使用 PHP 不需要任何费用,官方组织 PHP Group 提供了完整的程序源代码,允许用户修改、编译、扩充来使用。

开发历史

PHP原本的简称为Personal Home Page,是Rasmus Lerdorf 为了要维护个人网页,而用C语言开发的一些CGI工具程序集,来取代原先使用的 Perl程序。最初这些工具程序用来显示Rasmus Lerdorf的个人履历,以及统计网页流量。他将这些程序和一些窗体解释器集成起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。Rasmus Lerdorf 在1995年6月8日将PHP/FI公开发布,希望可以通过社群来加速程序开发与查找错误。这个发布的版本命名为PHP 2,已经有今日PHP的一些雏型,像是类似Perl的变量命名方式、窗体处理功能、以及嵌入到HTML中运行的能力。程序语法上也类似Perl,有较多的限制,不过更简单、更有弹性。

在1997年,任职于Technion IIT公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的解析器,成为PHP 3的基础,而 PHP也在这个时候改称为PHP: Hypertext Preprocessor。经过几个月测试,开发团队在1997年11月发布了PHP/FI 2,随后就开始PHP 3的开放测试,最后在1998年6月正式发布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 发布后开始改写 PHP 的内核,这个在1999年发布的解析器称为 Zend Engine,他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。

在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式发布,2004年7月13日则发布了PHP 5,PHP 5则使用了第二代的Zend Engine。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个访问数据库的延伸函数库)、以及许多效能上的增强。目前PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。

2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes 和 Safe mode的功能。

版本历程

主要版本 次要版本 发布日期 说明
1.0 1.0.0 1995年6月8日 正式名称为"Personal Home Page Tools (PHP Tools)",第一次使用了"PHP"的名字。
2.0 2.0.0 1996年4月16日 针对PHP 1.0的改进版,速度更快、体积更小,更容易产生动态网页。
3.0 3.0.0 1998年6月6日 开发方式改成多人共同参与。Zeev Suraski和Andi Gutmans 为了这个版本重写了解析引擎。
4.0 4.0.0 2000年5月22日 改成以Zend引擎作为解析器,具有两阶段解析/标签解析系统等先进功能。
  4.1.0 2001年12月10日 加入"超全局变量"(superglobals)功能,包含了$_GET、$_POST、 $_SESSION等 。
  4.2.0 2002年4月22日 默认取消register_globals功能。从网络接收的数据将不会设置成全局变量,增加程序安全性。
  4.3.0 2002年12月27日 加入命令行运行档,称为CLI。
  4.4.0 2005年7月11日 Added man pages for phpize and php-config scripts.
  4.4.8 2008年1月3日 Several security enhancements and bug fixes. Was to be the end of life release for PHP 4. Security updates only until 2008-08-08, if necessary.
  4.4.9 2008年8月7日 More security enhancements and bug fixes. The last release of the PHP 4.4 series.
5.0 5.0.0 2004年7月13日 Zend Engine II with a new object model.
  5.1.0 2005年11月24日 Performance improvements with introduction of compiler variables in re-engineered PHP Engine.
  5.2.0 2006年11月2日 Enabled the filter extension by default.
  5.2.8 2008年12月8日 emergent bug fix
  5.2.9 2009年2月26日 解决了5.2.*的超过了50多个错误和多个安全问题,增加了稳定性。
  5.2.10 2009年6月18日 这个版本修正了大量的bug和安全漏洞,并升级了时区数据库。
  5.3.0 2009年6月30日 支持命名空间;使用XMLReader和XMLWriter增强XML支持; 支持SOAP ,[24] 延迟静态绑定, 跳转标签(有限的 goto), 闭包,Native PHP archives
6.0 6.0.0 ??? 支持Unicode; 移除ereg扩展, 'register_globals', 'magic_quotes' 和 'safe_mode'; Alternative PHP Cache;Removal of mime_magic and rewrite of fileinfo() for better MIME support

PHP相关资源

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们