文档章节

PHP的历史

江边望海
 江边望海
发布于 2017/05/31 14:42
字数 1158
阅读 27
收藏 1
点赞 0
评论 0
PHP

PHP/FI

PHP 继承自一个老的工程,名叫 PHP/FI。PHP/FI 在 1995 年由 Rasmus Lerdorf 创建,最初只是一套简单的 Perl 脚本,用来跟踪访问他主页的人们的信息。它给这一套脚本取名为“Personal Home Page Tools”。随着更多功能需求的增加,Rasmus 写了一个更大的 C 语言的实现,它可以访问数据库,可以让用户开发简单的动态 Web 程序。Rasmus » 发布了 PHP/FI 的源代码,以便每个人都可以使用它,同时大家也可以修正它的 Bug 并且改进它的源代码。

PHP/FI,一个专为个人主页/表单提供解释程序的程序,已经包含了今天 PHP 的一些基本功能。它有着 Perl 样式的变量,自动解释表单变量,并可以嵌入 HTML。语法本身与 Perl 很相似,但是它很有限,很简单,还稍微有些不协调。

到1997年,PHP/FI 2.0,也就是它的 C 语言实现的第二版在全世界已经有几千个用户(估计)和大约 50,000 个域名安装,大约是 Internet 所有域名的 1%。但是那时只有几个人在为该工程撰写少量当代码,它仍然只是一个人的工程。

PHP/FI 2.0 在经历了数个 beta 版本的发布后于 1997 年 11 月发布了官方正式版本。不久,PHP 3.0 的第一个 alpha 版本的发布,PHP 从此走向了成功。

PHP 3

PHP 3.0 是类似于当今 PHP 语法结构的第一个版本。Andi Gutmans 和 Zeev Suraski 在为一所大学的项目中开发电子商务程序时发现 PHP/FI 2.0 功能明显不足,于是他们重写了代码。这就是 PHP 3.0。经过Andi,Rasmus 和 Zeev 一系列的努力,考虑到 PHP/FI 已存在的用户群,他们决定联合发布 PHP 3.0 作为 PHP/FI 2.0 的官方后继版本。而 PHP/FI 2.0 的进一步开发几乎终止了。

PHP 3.0 的一个最强大的功能是它的可扩展性。除了给最终用户提供数据库、协议和 API 的基础结构,它的可扩展性还吸引了大量的开发人员加入并提交新的模块。后来证实,这是 PHP 3.0 取得巨大成功的关键。PHP 3.0 中的其它关键功能包括面向对象的支持和更强大和协调的语法结构。

这个全新的语言伴随着一个新的名称发布。它从 PHP/FI 2.0 的名称中移去了暗含“本语言只限于个人使用”的部分。它被命名为简单的缩写“PHP”。这是一种递归的缩写,它的全称是——PHP: Hypertext Preprocessor。

1998 年末,PHP 的安装人数几近 10,000,有大约 100,000 个网站报告他们使用了 PHP。在 PHP 3.0 的顶峰,Internet 上 10% 的 web 服务器上都安装了它。

约九个月的公开测试后,官方于 1998 年 6 月正式发布 PHP 3.0。

PHP 4

1998 年的冬天,PHP 3.0 官方发布不久,Andi Gutmans 和 Zeev Suraski 开始重新编写 PHP 代码。设计目标是增强复杂程序运行时的性能和 PHP 自身代码的模块性。PHP 3.0 的新功能和广泛的第三方数据库、API的支持使得这样程序的编写成为可能,但是 PHP 3.0 没有高效处理如此复杂程序的能力。

新的被称为“Zend Engine”(这是 Zeev 和 Andi 的缩写)的引擎,成功的实现了设计目标,并在 1999 年中期首次引入 PHP。基于该引擎并结合了更多新功能的 PHP 4.0,在 PHP 3.0 发布两年后,于2000年5月发布了官方正式版本。除了更高的性能以外,PHP 4.0 还包含了其它一些关键功能,比如:支持更多的 web 服务器;HTTP Sessions 支持;输出缓冲;更安全的处理用户输入的方法;一些新的语言结构。

今天,已经有 10,000 名开发人员(估计)和几百万网站报告已安装了 PHP,占整个 Internet 域名的 20%。

PHP 的开发小组有很多优秀的开发人员,同时还有大量的优秀人才在进行 PHP 相关工程的开发工作,如 PEAR 和 PHP 文档的工程。

PHP 5

PHP 5 在长时间的开发及多个预发布版本后,于 2004 年 7 月发布正式版本。它的核心是 Zend 引擎 2 代,引入了新的对象模型和大量新功能。

© 著作权归作者所有

共有 人打赏支持
江边望海
粉丝 26
博文 112
码字总数 57841
作品 3
郑州
技术主管
MariaDB 10.3首推系统版本表,误删数据不用跑路了!

作者介绍 贺春旸,《MySQL管理之道:性能调优、高可用与监控》第一、二版作者,从事数据库管理工作多年,曾经任职于中国移动飞信、安卓机锋网、凡普金科(爱钱进),致力于MariaDB、MongoDB等开...

贺春旸
05/21
0
0
MariaDB10.3 系统版本表 有效防止数据丢失

系统版本表是SQL:2011标准中首次引入的功能。系统版本表存储所有更改的历史数据,而不仅仅是当前时刻有效的数据。举个例子,同一行数据一秒内被更改了10次,那么就会保存10份不同时间的版本数...

hcymysql
05/28
0
0
老了的php一定会被取代的

lamp这种东西,被百度,腾讯,阿里用了十五年,用得烂熟透得掉渣,lamp.baidu.com误人不浅啊,tieba.baidu.com/php吧,什么民工厨师剪头发的,全都在转行干这个php,大妈式php语言. 历史的规...

jack984
2015/03/26
7.1K
71
PHP 5.2 完成历史使命

上个星期 PHP 5.2 系列发布了 5.2.16 版本,该版本同时也宣布了 PHP 5.2 完成历史使命,不再对该版本进行更新。 官方建议所有用户尽快升级到 PHP 5.3 版本。 如何将应用从 PHP 5.2 升级到 5....

红薯
2010/12/22
1K
11
PHP的Mongo和MongoDB应该如何选择?

在学习MongoDB的时候,一个绕不开的部分就是使用驱动器链接MongoDB资源,进行增删改查等操作。最常见的驱动器连接方式莫过于PHP了。在选择安装Mongo扩展的时候会发现,官方提供了两个,到底应...

江边望海
2016/12/20
350
0
PhalconDebugbar v1.1 发布,Phalcon 扩展包

PhalconDebugbar v1.1 发布,更新内容: 新增 LogsCollector : 收集当前请求产生的log,支持在Message标签页显示或独立的Logs标签页显示 新增 CacheCollector : 统计页面的各种缓存操作计数,包...

朱__朱
2015/03/18
1K
7
rongcloud/server-sdk-php

server-sdk-php 更新日期 2015-12-28 新增 聊天室成员禁言,封禁;推送服务 ============== 更新日期 2015-10-21 新增 发送讨论组消息 接口 ============== 更新日期 2015-10-14 新增 群组成员...

rongcloud
2015/02/03
0
0
PHP Shell 2.3 发布,PHP封装的Web工具

PHP Shell 2.3 发布了,新增文件上传功能(默认不启用),修复了一个奇怪的 UTF-8 的 bug,增加了内部历史命令,提示 $PS1 可配置等等。 PHP Shell 是用PHP脚本封装的一个Web的工具,用于远程...

红薯
2011/12/12
2.8K
3
只有用了新技术才能有生产力才能赚到钱

纵观历史,无论是在农耕时代,还是在工业时代,都是用新工具提升了生产力,使社会得到发展,公司赚得了钱。历史的规律即往如此。那么我现在一个人开公司,一个人写代码,做项目。 我是不是不...

jack984
2015/06/08
1K
16
Yioop! 0.92 发布,PHP 搜索引擎

Yioop! 0.92 优化了查询性能,为搜索结果缓存页面增加了新的历史 UI 用于查看历史记录(类似归档);支持拼写检查。 Yioop! 是一个 PHP 的搜索引擎,可用于 Web 的一般用途搜索,或者可提供U...

oschina
2013/01/06
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

毕业5年,我是怎么成为年薪30W的运维工程师

#转载# 我在大学读的是计算机专业,但大学毕业之后,进入到一家私企进行工作,工作的内容类似于网管,会经常的去修电脑,去做水晶头等内容。刚开始工作,也没想太多,最想的是丰富自己的工作...

Py爱好
8分钟前
0
0
大数据基础知识,大数据学习,涉及的知识点

一、什么是大数据 一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流 转、多样的数据类型和价值密度低四大特征。...

董黎明
24分钟前
0
0
Linux CentOS 7上安装极点五笔

话说几天前在新买的惠普笔记本上成功地安装了Linux CentOS 7操作系统、Nvidia Quandro P600驱动程序及X Window,并在VMware下安装Red Hat教学环境,彻底跳出Windows的苦海,但仍然有一件事不...

大别阿郎
36分钟前
9
0
2018年7月20日集群课程

一、集群介绍 集群,简单地说是指一组(若干个)相互独立的计算机,利用高速通信网络组成一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。 ...

人在艹木中
38分钟前
0
0
spark开发机中调试snappy

目的 在Idea中的点击运行,使spark可以直接读取snappy 自己编译hadoop,以支持snappy的压缩。 自己编译的目的就是要得到支持snappy文件读写的动态链接库。如果可以在网上下载,可以跳过自行编...

benny周
56分钟前
0
0
centos7 安装docker

1,查看系统版本 cat /etc/redhat-release 2,安装gcc yum -y install gccyum -y install gcc-c++ 3,卸载旧版本 yum remove docker \ docker-client \ ......

暗中观察
57分钟前
0
0
rabbitmq学习记录(七)交换机Exchange-topic

实现功能:一条消息发送给多个消费者 交换机模式:topic 相比于direct匹配模式,匹配routingKey时,topic模式下不仅支持完全匹配,还支持两种特殊的匹配方式 #:可以匹配一个或多个字符 *:可...

人觉非常君
57分钟前
0
0
[译]为什么(要使用)GNU Affero GPL?

#为什么(要使用)GNU Affero GPL? 作者信息:Copyright © 2010, 2013, 2014, 2015 Free Software Foundation, Inc. This page is licensed under a Creative Commons Attribution-NoDeriv......

ICE冰焰火灵X
58分钟前
0
0
apollox-lua 示例

这个项目是从openn2o里迁出的项目。 示例地址 apollox-lua.js 是把js翻译成lua的库。支持两种不同的模态, 在编译工程的时候使用 可以用作openresty的代码翻译, 即用js代替lua。在web模式可...

钟元OSS
今天
0
0
Ubuntu系统笔记 Linux系统

Ubuntu 16.04.3 Ubuntu系统,不适用yum, yum软件源都是RPM软件包,不是deb格式软件包,所以你即便是在Ubuntu上面安装了yum,也是完全用不了的。 不推荐 apt好于yum apt install screen...

阿锋zxf
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部