特别是PERL语言,目前仍然是编写CGI程序的首选语言。PERL语言功能非常的强大,但也比较复杂,掌握它需要一定的时间。另外,用这些语言编写的CGI程序,每当有一个用户请求时都会建立一个新的进程来运行该CGI;如果突然有大量的用户请求出现,可能会出现性能问题(现在有一种称为FastCGI的技术可以解决这个问题)
因为编写CGI程序很困难,出现了各种技术来解决这个问题。微软公司的ASP技术就时一种非常优秀的解决
方案。ASP技术可以在Windows NT/2000+IIS上运行,使用VBscript作为脚本语言,可以对多种数据库及ODBC进行操作。ASP技术虽然好,但是如果采用这种技术,就意味着使用微软公司的
全套技术。网络服务器只能使用windows nt/2000,web服务器只能使用iis服务器,数据库服务器最好使用微软的SQL SERVER 等。ASP技术出现后许多公司开始将ASP的思想移植到其他平台上,出现了许多UNIX平台上的,基于PERL或其他语言的ASP技术。这些技术一眼时专有技术,受商业支持少,平台适应性也较窄。
除了ASP外,还有一些类似的技术如ALLAIRE的CODE FUSION等。这些技术都可以实现在网页上动态发布信息。
PHP是一种类似微软ASP技术的WEB数据库解决分方案。它是一种嵌入式的脚本语言,用于在WEB上快速的发布动态信息。PHP是"PHP Hypertext Preprocessor"
("PHP:超文本处理器")的缩写。它的许多语法借用了C,PERL,以及JAVA的语法,当然也有一些PHP的特性。PHP语法的目标是使WEB开发者快速编写动态网页。
"嵌入式脚本"的意思是脚本可以嵌入到HTML代码中。当使用PERL何C/C++语言编写CGI脚本时。必须使用printf ,echo等命令或者函数向浏览器输出HTML代码。而使用嵌入式的脚本语言时,HTML代码可以按照正常的方式编写(如front page或dream weaver等快速开发工具生成),需要特别处理的内容(如数据库浏览、查询、与mail服务器的连接等)通过嵌入到HTML代码中的脚本完成。这样,可以极大的加快开发速度,脚本的可读性也很强。
PHP的英文全称很有意思,PHP: Hypertext Preprocessor,一种递归的表示方法。和GNU的全称差不多,GNU是"GNU' sNot Unix"的缩写。这可能是很多程序员的习惯,很诙谐。
1.2 PHP简史
PHP是由Rassmus Lerdorf 在1994年构思出来的。起初用于在他的主页上跟踪是谁看过他的在线简历,当时并未发布,1995年早期发布了一个其他人可是使用的版本,当时的名字是personal home page tools(个人主页工具)。1995年中期,发布了第二个版本,称为PHP/FI 2其中FI的意思是From Interpreter,既表单解释器。非常感兴趣PHP/FI 2比1.0功能有了很大的增强,增加了对msql数据库的支持。很多web开发者对PHP/FI 2非常感兴趣,开始有人向其中增加新功能很新特性。
到1996年末,据估计全世界至少有15000个网站使用PHP/FI 到1997年这个数字上升到50000个。到1997年中期,PHP的开发情况发生了很大的变化,以前一直是Rasmus独自担当开发任务,这是由了一个团队通过Internet协同开发PHP。1998年6月发布了PHP的新版本3.0,也称为php3。此后PHP得到了web开发人员的极大好评,有许多企业开始将PHP3作为他们的首选web开发平台。与微软公司的ASP相比,PHP3能够提供同样或者更好的功能,ASP只能运行在windows nt /2000平台上,提供的数据库支持也比较少;而PHP3能够运行在非常广泛的平台上,如Linux,BSD,各种UNIX 以及WINDOWS等,同时PHP3能够支持非常多的数据库,如ORACLE,SYBASE,INFORMIX,MS SQL SERVER,MYSQL,POSTGRESQL,ODBC等。
2005年5月发布了PHP的最新版本:PHP4.0与3.0相比,提供了更大的会话管理功