标题：PHP5
PHP语言简介
PHP是“PHP：Hypertext Preprocessor”的缩写，即“超文本预处理器”。PHP  PHP是一种功能强大，并且简便易用的脚本语言。PHP的发展PHP是一种简单、轻便的服务器端脚本语言。PHP最初是作为一个快速、实用的工具包出现的。1994年，为了在自己的网站上增加一个小巧而实用的访客追踪系统，Rasmus Lerdorf编写了PHP的雏形程序。这是一个用Perl封装的简单工具。由于使用效果并不理想，Rasmus又用C语言重写了这个工具。
后来，更多的人注意到这个轻巧而简便的程序，并且要求增加更多的功能。Rasmus决定发布一个完整的版本，将其命名为Personal Home Page Tools。后来，Rasmus又发布了一个名为FI的可以做SQL查询的工具。PHP2的发展1996年Rasmus发布了PHP/FI2.0，这是一个基本完善的PHP程序包。它不仅可以访问数据库，而且可以嵌入HTML页面。此时，PHP/FI2.0以及吸引了大量的程序开发人员。在众多程序员之中，也包括了Zeev Suraski和Andi Gutmans，他们就是后来PHP3的始作者。由于不满足于PHP/FI在大型项目中的表现，Zeev和Andi作了重大的改进。PHP3的发展1998年末，PHP3的第一个官方正式版本发行，其特色是具有更好的执行效果以及更清晰的结构。除此之外，PHP3的强大的功能还在于它的可扩展性。除了给最终用户提供数据库、协议和API的基础结构，它的可扩展性吸引了大量的开发人员加入并提交新的模块。
这个全新的语言伴随着一个新的名称发布。这个名称更具广泛意义，而不仅局限于“个人主页工具”的概念。它被命名为简单的缩写“PHP”。这是一种递归的缩写，它的全称是——PHP：Hypertext Preprocessor。
不久，Zeev Suraski和Andi Gutmans投入到了全新的PHP的开发之中。设计目标是增强程序运行性能和PHP自身代码的模块性。PHP4的发展新的PHP核心被成为“Zend”（以Zeev和Andi的名字命名）引擎，于2000年5月随着新版PHP4.0发布。PHP4的性能较PHP3有着显著的提高。相同的脚本在PHP4中运行，最高可以有近10倍的性能提升。并且Zend提供了的脚本优化器，可以把源程序转为二进制编译代码，提高性能的同时，也保护了程序源码不被暴露。
在PHP4中增加了对各种Web服务器（如Apache、IIS/PWS及OmniHTTPd等）的支持。此外，PHP4还增加了一些新的语言特性，如丰富的数组操作函数、完整的会话机制、对输出缓存的支持等。PHP4也对一些跨平台的技术提供了扩展支持，如对Adobe PDF、SWF、Java、Microsoft . NET等技术的支持。
PHP4还增加了对类与对象的支持。尽管PHP4在这方面并不完善，但还是大大改善了对面向对象程序设计的支持。PHP4中的Pear库（PHP Extension and Application Repository）就是面向对象的应用与实践的最好例证。PHP5的发展尽管PHP4的发展是如此迅猛，但较之于其他流行的开发语言还是缺乏一些关键的功能特性，比如，PHP4中的面向对象功能并不完善，也无法实现异常（Exception）的捕捉与处理。因此在一些特殊问题的处理上还是捉襟见肘的。
2004年7月，PHP5正式版本的发布，标志着一个全新的PHP时代的到来。它的核心是第二代Zend引擎，并引入了对全新的PECL模块的支持。PHP5的最大特点是引入了面向对象的全部机制，并且保留了向下的兼容性。程序员不必再编写缺乏功能性的类，并且能够以多种方法实现类的保护。另外，在对象的集成等方面也不再存在问题。使用PHP5引进了类型提示和异常处理机制，能更有效的处理和避免错误的发生。
在不断更新的同时，PHP5依然保留对旧有的PHP4程序可以运行于PHP5的平台  PHP5上而不会出现较大问题。随着MySQL数据库的发展，PHP5还绑定了新的MySQLi扩展模块，它提供了一些更加有效的方法和实用工具用于处理数据库操作。这些方法大都以面向对象的方式实现，同时也极大地提高了基于数据库的Web项目的执行速度。
另外，PHP5中还改进了创建动态图片的功能，目前能够支持多种图片格式（如PNG、GIF、TTIF、JPGE等）。PHP5以及内置了对GD2库的支持，因此安装GD2库（主要指UNIX系统中）也不再是件难事，这使得处理图像十分简单和高效。
大多数Web程序开发者依然将XML作为一个彻底的简单数据库使用。PHP5中也采用了一系列简单易用、功能强大的方法处理XML文档。
今天，已经有包括雅虎和亚马逊等在内的数百万网站，以及众多的开发人员和编程爱好者正在使用PHP。从最初的PHP/FI到现在的PHP5，PHP的发展是及其迅猛的，其未来的发展前景也必定令人瞩目。
GO PHP5
PHP5发布3年后，PHP4仍然在为各大虚拟主机提供服务，大量主机hosting上还是永远的php4。之所以造成这种情况，有着多方面的原因。
2007年7月5日，一个PHP开发者联盟宣布，作为共同使PHP开发者社区完全迁移到PHP的5版本的努力的一部分，一些主要的开源PHP项目从2008年2月5日起在他们即将发布的软件中将放弃支持PHP旧的版本。
作为配合努力的一部分，Symfony, Typo3, phpMyAdmin, Drupal, Propel, 和Doctrine这些项目已经都宣布2008年2月5日以后他们的下一个版本将需要PHP5.2，而且已经向其它PHP项目和应用发出了公开邀请，包括开源的和非开源的，希望他们参与到这项努力中来。
许多基于PHP的网站应用现在既有运行PHP4的，也有运行PHP5的。PHP4在2000年发布，并且迅速巩固了作为统治性的网络开发语言的地位。PHP5发布于2004年，它在功能上有显著的改进，但是主要由于许多新平台发布伴随着“鸡和蛋”的问题，它发展很慢。  goPHP5首先PHP开发者还没摸透在没有php4的情况下，用php5来跑从前的应用会不会有潜在的问题。大量主机上仍然安装的是php4，这会使用户避免选择php5 only的web应用程序。也是因为这个原因，大量主机商还不能马上升级到php5，因为他们不知道用户将要跑php4或是php5的web应用。这样一来，php的开发者越发不能摆脱php4，他们为了适应环境，写出来的代码可能都是php4/php5兼容的。
这对php开发者来说，是如同梦魇一般的一个死循环。一些open source的php开发团体为了摆脱这个困境，终于决定做出一些动作来打破僵局了！！他们在2008年2月份以后发布程序将仅仅官方的支持php 5.2.0以后的版本(官方的支持意味着某些程序还是能保持php4的兼容性的，但是不承诺)！！这个活动被称之为GoPHP5！！这些php开发团体已知的名单如下：
Drupal 
Joomla
CakePHP
Symfony
Gallery
WordPress
自从推办goPHP5，已经有超过 100 个软件开发项目和超过 200 个网络主机支援 PHP 5.2。相对从前，现在可以轻松地找到托管解决方案，软件开发商亦可以使用 PHP 5 具吸引力的新功能，而不需要担心他们的用户别无选项。
对于用户来说，使用php4或者php5无关紧要，他需要的仅仅是他的程序可以run。那么列表中拥有大量用户基础的php程序的转向，将会是驱动主机商升级到php5的极大动力。
PHP的特点
PHP有着简单易用和功能强大的特点，这完全要归功于其开放的模块化设计。在基于Zend引擎的支持和优化下，各种各样的扩展模块，其功能已经覆盖几乎所有的Web应用。字符串与数组处理字符串和数组是所有计算机编程语言中最基本的数据结构。在各种语言中，对这两种数据结构的支持是完善的，PHP也是如此。作为一种面向Web开发的程序语言，PHP也有着自己的独特性。URL的处理利用URL函数库，PHP可以用简单的方法对URL地址进行解码或编码。而在此之前，需要编写一组代码加以实现。单词拼写的处理利用单词拼写检查库PSpell，PHP可以想Word中的“单词拼写检查”一样，对文本中的错误拼写进行指正。尽管这不常用，但对于某些场合（如辅助编辑进行校勘），这种处理是非常有益的。正则表达式正则表达式是一种强大的字符串分析工具。正则表达式早期仅用于UNIX系统程序，现在已经被绝大多数系统，程序所支持。随着正则表达式移植到交叉平台的程序语言的发展，其功能也日益完善。数据的串行化使用serialize()及unserialize()等函数，可以将数组、对象等数据进行序列化编码，从而方便其在数据库或会话周期中的存储。另外，利用WDDX（分布式数据格式）串行化数据，可以在应用环境中交换更为复杂的数据结构。目录与文件的操作文件系统是操作系统的主要组成部分，是数据存储的基本单元。利用目录和文件函数，PHP可以对本地文件系统进行直接操作，如对文件或目录进行的创建、删除和读取操作，也可以对其所有者权限、组别等信息进行查询和变更操作。
当激活了phpini文件中的“allow_url_fopen”选项后，利用简单的 fopen()或fwrite()等函数就可以对远程文件进行操作。例如：程序可以读取或下载远程Web服务器的文件；对于具有适当权限的用户，还可以登录远程FTP服务器进行数据的保存或下载操作，甚至可以使用syslog()函数进行分布式日志的管理和维护。对不同类型文件的支持PHP不仅仅局限于HTML和文本文件的处理，也可以符合特定格式的文件进行快速处理。例如对于CVS（逗号分隔文件）、INI（Windows配置文件）以及XML文件，PHP中都有专用的解析函数。除了上述文本文件，PHP还提供可以读取 ZIP文件的zlib压缩文件库。
PHP能够非常简便的输出文本，如XHTML以及任何其他形式的XML文件。PHP还能动态的输出图像（GD2库）、PDF文件（PDFLib库）甚至Flash动画（LibSWF和Ming库）。在Windows系统中，PHP能够在服务器端开辟出一块动态的缓存空间，从而直接打印这些文件（使用Printer扩展）。简便的数据库操作PHP最显著的特征之一，是它支持很大范围的数据库系统。用户会发现，利用PHP编写基于数据库支持的动态网页简单得难以置信。目前，PHP支持如表1-1所示的数据库系统。
表1-1 PHP支持的数据库系统
Adabas D dBase Empress
FilePro（只读） Hyperwave IBM DB2
Informix Ingres InterBase
FrontBase MSQL Direct MS-SQL
MySQL ODBC Oracle
Ovrimos PostgreSQL SQLite
Solid Sybase Velocis
UXIX dbm对各种协议的支持通常，用户在编程过程中还会涉及到各种不同接口之间的通信问题，如打开文件并读取，或者建立一个套接字（Socket）连接发送数据。这些过程都是基于各种通信协议完成的。所谓通信协议，实际就是系统间发送和接受数据时所遵循的特定方法。
PHP支持诸如FTP、LDAP、IMAP、NNTP、POP3、HTTP、 COM（Windows环境）等大量的通信协议。PHP还可以开放原始网络端口，使得任何其他的协议能够协同工作。PHP支持和所有Web开发语言之间的 WDDX复杂数据交换。目前，PHP已经支持了对Java对象的使用，并且可以将它们自由的用作PHP对象。
PHP的发展趋势
PHP作为最成熟的开源体系LAMP（Linux，Apache，MySQL，PHP）的重要一员，以其简单性、开放性、低成本、安全性和适用性，受到越来越多的Web程序员的欢迎和喜爱。
PHP中提供了作为编码语言所有的基本功能。此外，它还提供许多实用的功能，使得PHP比其他编程语言更适合动态网页的开发。针对企业级Web应用，PHP也不断地完善和增加新的功能。
PHP是源码开放的，这意味着其代码的核心部分可以被免费使用。所有源码、文档可以在PHP官方网站上获得。用户可以自由复制、编译、分发其拷贝。任何一个用PHP编写的程序都属于用户自己，并且可以自行处理。
正式由于这种开源精神，才使PHP社区可以聚集众多的爱好者，也使得PHP有如此迅猛的发展。PHP的更新速度，以及发现和修正错误的速度是非常迅速的。可以看到，几乎每周都有一个新版本的PHP程序包发布。
目前，PHP的官方维护者和推动者Zend公司已经加快了PHP企业级应用的步伐。随着PHP5的应用不断扩大，Zend公司还将推出一个标准的PHP开发框架Zend Framework。通过这一框架，PHP开发者可以快速地构建Web应用。
如同ASP具有Windows自己的开发平台一样，Zend也为PHP设计了全新的开发环境 Zend Studio。这是一款集程序调试、系统发布以及开发环境为一体的PHP开发软件。这将大大简化PHP开发过程，并且缩短相应的测试周期。另外，Zend 还将与IBM公司合作推出集成Zend IDE特性的Eclipse软件供大家使用。
PHP还具有优秀的平台兼容性。PHP源于UNIX系统平台，尤其是PHP、MySQL、 Apache和Linux组合，备受PHP爱好者的欢迎。不仅如此，PHP在Windows系列操作系统上也有出色的表现。其良好的程序界面、语言易用性等特点吸引了微软的开发人员。目前，有消息称未来的Windows . NET开发环境将集成PHP，这也意味着PHP的用户群将日益壮大。
PHP是广泛及通用的脚本语言，它尤其适合于Web开发。PHP是世界上主要的网络开发语言之一，运行在世界三分之一的服务器上。它是从雅虎到Facebook等公司的平台选择，也是共享主机上最广泛的开发平台，为世界上数百万的网站提供动力。
随着PHP5版本性能的提升，以及面向对象功能的完善，PHP也逐渐开始于面向企业级应用。PHP的发展前景将无限广阔。
现在php5的最新版本为php5.4.3，较php5.3增强了安全特性，去掉了一些威胁安全的函数如global_register等，去掉了安全模式。