第1章PHP简介与开发环境的搭建1.1PHP语言简介1.2PHP开发环境配置1.1PHP语言简介1.1.1PHP发展史PHP是“PHP:HypertextPreprocessor”的缩写。PHP语法与C语言相似,可运行在Apache、MicrosoftInternetInformationServer(IIS)和iPlanet等Web服务器上。PHP作为一种工具,可以创建动态Web页面。应用PHP的网页与常规的HTML页面并无不同,用户可以用同样的方式来创建和编辑它们。PHP允许直接在HTML代码中写入简单的脚本,这一点与JavaScript非常相似。而不同的是,PHP不依赖于浏览器,它是服务器端的语言,而JavaScript却是一种客户端的嵌在HTML中的语言。概念上,PHP与Netscape的LiveWirePro产品,Microsoft的ASP及SunMicrosystem的JSP相似。PHP最初是由丹麦的RasmusLerdorf创建的,刚开始它只是一个简单的用Perl语言编写的程序,用来统计网站的访问量。后来又用C语言重新编写,添加访问数据库的功能。1995年,他以PersonalHomePageTools(PHPTools)开始对外发布第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在早期的版本中,它提供了访客留言本、访客计数器等简单功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等。1.1.2PHP语言功能PHP与HTML语言有着非常好的兼容性,用户可以直接在PHP脚本代码中加入HTML标记,或者在HTML语言中嵌入PHP代码,从而更好地实现页面控制。PHP提供了标准的数据接口,数据库连接十分方便,兼容性好,扩展性好,可以进行面向对象编程。PHP脚本主要用于以下3个领域:●服务端脚本。这是PHP最传统,也是最主要的目标领域。开展这项工作需要具备以下3点:PHP解析器(CGI或服务器模块)、Web服务器和Web浏览器。需要在运行Web服务器时,安装并配置PHP,然后可以用Web浏览器来访问PHP程序的输出,即浏览服务端的PHP页面。●命令行脚本。用户可以编写一段PHP脚本,并且不需要任何服务器或浏览器来运行它。通过这种方式,仅仅只需要PHP解析器来执行。这种用法对于依赖cron(UNIX或Linux环境)或者TaskScheduler(Windows环境)的脚本来说是理想的选择。这些脚本也可以处理简单的文本。●编写桌面应用程序。对于有着图形界面的桌面应用程序来说,PHP或许不是一种最好的语言,但是如果用户非常精通PHP,并且希望在客户端应用程序中使用PHP的一些高级特性,可以利用PHP-GTK来编写这些程序。用这种方法,还可以编写跨平台的应用程序。PHP-GTK是PHP的一个扩展,在通常发布的PHP包中并不包含它。1.1.3PHP语言特点PHP作为一种服务器端的脚本语言,它的特点主要有以下8个方面。1.开放源代码PHP属于自由软件,是完全免费的,用户可以从PHP官方站点()自由下载,而且可以不受限制地获得源码,甚至可以从中加进自己需要的特色。2.基于服务端PHP是运行在服务器上的,充分利用了服务器的性能,PHP的运行速度只与服务器的速度有关,因此它的运行速度可以非常快;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译了,只要直接执行内存中的代码即可,这也是PHP高效性的体现之一。3.数据库支持PHP能够支持目前绝大多数的数据库,如DB2、dBase、mSQL、MySQL、MicrosoftSQLServer、Sybase、Oracle、Oracle8、PostgreSQL等,并完全支持ODBC,即OpenDatabaseConnectionStandard(开放数据库连接标准),因此可以连接任何支持该标准的数据库。其中,PHP与MySQL是绝佳的组合,它们的组合可以跨平台运行。1.1.3PHP语言特点4.跨平台PHP可以在目前所有主流的操作系统上运行,包括Linux、UNIX的各种变种、MicrosoftWindows、MacOSX、RISCOS等。正是由于这个特点,使UNIX/Linux操作系统上有了一种与ASP媲美的开发语言。另外,PHP已经支持了大多数的Web服务器,包括Apache、IIS、iPlanet、PersonalWebServer(PWS)、OreillyWebsiteProServer等。对于大多数服务器,PHP均提供了一个相应模块。5.易于学习PHP的语法接近C、Java和Perl,学习起来非常简单,而且拥有很多学习资料。PHP还提供数量巨大的系统函数集,用户只要调用一个函数就可以完成很复杂的功能,编程时十分方便。因此用户只需要很少的编程知识就能够使用PHP建立一个交互的Web站点。6.网络应用PHP还提供强大的网络应用功能,支持诸如LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows环境)等协议服务。它还可以开放原始端口,使任何其他的协议能够协同工作,PHP也可以编写发送电子邮件、FTP上传/下载等网络应用程序。1.1.3PHP语言特点7.安全性由于PHP本身的代码开放,所以它的代码由许多工程师进行了检测,同时它与Apache编译在一起的方式也让它具有灵活的安全设定。因此到现在为止,PHP具有公认的安全性。8.其他特性PHP还提供其他编程语言所能提供的功能,如数字运算、时间处理、文件系统、字符串处理等。除此之外,PHP还提供更多的支持,包括高精度计算、公元历转换、图形处理、编码与解码、压缩文件处理以及有效的文本处理功能(如正则表达式、XML解析等)。1.1.4PHP语言发展趋势PHP目前在开发语言排行榜(TIOBE)排名第5位,仅次于Java、C、C++和VisualBasic。同时PHP是世界上使用率最高的网页开发语言,据法国PHP/MySQL入口网站Nexen.net对全世界近1090万台网页服务器调查(2007年6月),使用PHP的网站比例高达33.88%,远超过第二位的ASP网站(20.94%)。从PHP3到目前还是主流的PHP4再到PHP5,再到未来的PHP6,PHP越来越完善,功能也更强大。跨平台的使用特性将使它在Linux平台上大放异彩。可以直接使用Java的类库,可以直接调用Perl、C等语言编写的程序,这增强了它的可扩展性。越来越成熟的MVC开发框架使它能适应企业级的大型应用开发,再加上它天生强大的数据库支持能力,PHP将会得到更多Web开发者的青睐。1.2PHP开发环境配置1.2.1开发环境的选择PHP开发环境涉及操作系统、Web服务器和数据库。LAMP一直以来是PHP开发的首选。所谓LAMP就是基于Linux、Apache、MySQL和PHP或其他语言插件的运行环境,LAMP的名字来源于这些软件名称的第一个字母。Linux是现在应用十分广泛的开源操作系统,由于Linux的高稳定性及其他优点,世界上大部分的Web服务器都架设在该系统上。Apache是一款开放源码的Web服务器,其平台无关性使得Apache服务器可以在任何操作系统上运行,包括Windows。强大的安全性和其他优势,使得Apache服务器即使运行在Windows操作系统上也可以与IIS服务器媲美,甚至在某些功能上远远超过了IIS服务器。在目前所有的Web服务器软件中,Apache服务器以绝对优势占据了市场份额的70%,遥遥领先于排名第二位的MicrosoftIIS服务器。MySQL是一个开放源码的小型关系数据库管理系统,由于其体积小、速度快、总体成本低等优点,目前被广泛应用于Internet的中小型网站中。MySQL是一个真正的多用户、多线程的SQL数据库服务器。由于MySQL源代码的开放性和稳定性,并且可与PHP完美结合,很多站点使用它们进行Web开发。有关MySQL数据库的具体内容会在第7章介绍。1.2.2Apache安装与配置安装文件下载完毕即可进行Apache的安装(假设已经处于WindowsXP系统下),具体的安装步骤如下:(1)双击已经下载的Apache安装文件,出现软件安装向导,如图1.1所示。单击【Next】按钮进入软件协议对话框,如图1.2所示,选择同意安装协议,单击【Next】按钮。图1.1Apache安装向导图1.2软件协议对话框1.2.2Apache安装与配置(2)进入Apache介绍界面,如图1.3所示。阅读完介绍后,单击【Next】按钮进入服务器系统信息设置对话框,如图1.4所示。安装程序要求用户在NetworkDomain(网络域名)、ServerName(服务器域名)和网站管理员的E-mail栏上填写相应的信息。由于本书介绍的是本机学习环境,所以可以随便填写。前两个填localhost,E-mail填写自己的即可。下面有两个选项:使用默认的80端口,并作为系统服务自动启动;仅为当前用户安装,使用端口8080,手动启动。一般选择第一个默认的80端口,单击【Next】按钮。图1.3Apache介绍界面图1.4设置系统信息1.2.2Apache安装与配置(3)填写服务器信息后进入安装类型选择对话框,如图1.5所示,安装类型有两种:一种是Typical(典型安装模式),这是默认模式,使用这种模式时软件向导会按照预定义的安装步骤安装Apache,建议初学者使用;另一种模式是Custom(自定义模式),这种模式可以详细定义Apache的各个功能,适用于高级用户。本书选择的是Typical模式。单击【Next】按钮进入安装路径选择对话框,如图1.6所示,默认的安装路径为C:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2,单击【Change】按钮可以手动指定Apache的安装路径。图1.5安装类型选择对话框图1.6选择安装路径1.2.2Apache安装与配置(4)一般建议不要安装在操作系统所在的盘,以免操作系统崩溃之后还原时会将Apache文件也清除了,所以本书将路径修改为“D:\WAMP\Apache”(用户也可以自己指定一个路径),如图1.7所示,之后PHP也将会安装到D盘的WAMP文件夹下。路径设置完后单击【OK】按钮,出现如图1.8所示界面。图1.7修改安装路径图1.8确定安装路径1.2.2Apache安装与配置(5)路径选择完后单击【Next】按钮进入安装确认界面,如图1.9所示。单击【Install】按钮开始安装,等待一段时间,安装完成后出现如图1.10所示界面。单击【Finish】按钮即可完成安装。图1.9确认安装界面图1.10安装完成1.2.2Apache安装与配置(6)Apache安装成功后在屏幕右下角会出现一个图标,图标内的三角形为绿色时表示服务正在运行,红色时表示服务停止。双击该图标会弹出Apache管理界面,如图1.11所示。单击【Start】、【Stop】和【Restart】按钮分别表示开始、停止和重启Apache服务。(7)Apache安装完成后可以测试一下能否运行。在IE地址栏输入,回车。如果测试成功会出现如图1.12所示页面。图1.11Apache服务管理界面图1.12测试页面1.2.2Apache安装与配置(8)在Apache的安装路径下的conf文件夹下(本书中的路径为D:\WAMP\Apache\conf),有一个名为httpd.conf的文件,这是Apache的配置文件,Apache的所有服务功能设置都可以通过修改配置文件来完成。打开该文件,找到“listen80”单独所在的一行,通过修改“listen”后面的数字就可以手动修改Apache的端口,这里暂不做修改。在Apache的安装路径下还有一个htdocs文件夹,