Web开发的平民英雄:PHP+MySQL
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 PHP开发环境搭建

在开始编写PHP应用之前,我们首先应该搭建起PHP的开发和运行环境。虽然PHP可以运行在IIS下,但Apache是它的最优组合。Apache是世界使用排名第一的Web服务器软件,它可以运行在几乎所有广泛使用的计算机平台上。我们本节介绍这个应用最广泛的Apache服务器的安装。

Apache音译为阿帕奇,本是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。相传阿帕奇是一个武士,他英勇善战,且战无不胜,被印第安人奉为勇敢和胜利的代表,因此后人便用他的名字为印第安部落命名,而阿帕奇族在印第安史上也以强悍著称。

Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为运作一个开源软件项目的Apache的团体提供支持的非盈利性组织,这个开源软件项目就是Apache项目。这个组织把自己作为有着相同目标的开发者与用户的团体,而不是简单的共享在一个服务器上的一组项目的组织团体。在它所支持的Apache项目与子项目中,所发行的软件产品都遵循Apache许可证(Apache License)。

Apache软件基金会(ASF)正式创建于1999年,它的创建者是一个自称为“Apache组织”的群体。这个“Apache组织”在1999年以前就已经存在很长时间了,这个组织的开发者聚集在一起,在美国伊利诺斯大学超级计算机应用程序国家中心(National Center for Supercomputing Applications,简称为NCSA)开发的NCSA HTTPd服务器的基础上开发与维护了一个叫Apache的HTTP服务器。

最初NCSA HTTPd服务器是由Rob McCool开发出来的,它的最初开发者们逐渐对这个软件失去了兴趣,并转移到了其他地方,便没有人再来对这个服务器软件提供更多的技术支持。但是因为这个服务器的功能如此强大,而代码可以自由下载修改与发布,就有一些这个服务器软件的爱好者与用户自发组织起来,互相交流并分发自己修正后的软件版本,并不断为它开发新的功能、新的特性、修改原来的缺陷。为了更好进行沟通,Brian Behlendorf自己建立了一个邮件列表,把它作为这个群体交流技术、维护软件的一个媒介,把代码重写与维护的工作有效组织起来。这些开发者们逐渐地把他们这个群体称为“Apache组织”,把这个经过不断修正并改善的服务器软件命名为Apache服务器(Apache Server)。

这个命名便是根据本节开头所述北美的这支Apache印第安部落而来,这支部落以高超的军事素养和超人的忍耐力着称,19世纪后半期对侵占他们领土的入侵者进行了反抗,为了对这支印第安部落表示敬仰之意,便取该部落名称(Apache)作为服务器名。但提到这个命名,却还流传着另一段有意思的故事,因为这个服务器是在NCSA HTTPd服务器的基础之上,通过众人努力,不断地修正、打补丁(Patchy)的产物,被戏称为“A Patchy Server”(一个充满补丁的服务器)。因为“Patchy”与“Apache”是谐音,故最后正式命名为“Apache Server”。

Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。本来它只用于小型或试验Internet网络,后来逐步扩充到各种UNIX系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都在使用Apache,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的UNIX、Windows、Linux系统平台上)以及它的可移植性等方面。

1.2.1 Apache服务器的安装与配置

本节我们介绍Windows环境下Apache服务器的安装。

Apache服务器软件我们可以从其官方网站(www.apache.org)下载其最新版本安装。截至到2010年初,最新版本为2.2.14。我们下载其不含SSL功能的版本文件为apache_2.2.14-win32-x86-no_ssl.msi,然后就可以运行该安装程序了。

(1) 打开Apache安装包,出现图1-4所示的初始化安装界面。

图1-4 Apache的初始化安装界面

(2) 单击“Next”按钮,将出现如图1-5所示的授权协议对话框,选择“I accept the terms in the License agreement”单选按钮,然后单击“Next”按钮,就可以继续下一步的安装了。

图1-5 同意安装Apache

(3) 当安装到如图1-6所示的对话框时需要填写一些信息,这个地方需要注意一下,按照下面的提示来配置,以保证安装顺利完成。

图1-6 Apache服务器安装配置

只有这个地方的配置需要注意,安装Apache过程中其他的步骤使用默认配置就可以了。

1.2.2 Apache的测试

安装完成以后,托盘出现如图1-7所示的标志,这是Apache的托盘,如果亮着绿灯,就意味着Apache已经安装成功了,如果要是亮红灯,表明安装出现了问题,通常是因为80端口已被占用所引起,可以卸载了重新安装一次。注意:如果您的机器里有IIS的话,建议把IIS的端口设置为别的端口否则安装Apache是不会成功的。除了看托盘,还有个方法测试是否安装成功,那就是在Apache安装完成后,在浏览器里输入http://localhost/或者http://127.0.0.1/不出现错误页面就说明安装成功了。

图1-7 Apache服务器图标

1.2.3 Apache的配置

通过“开始→所有程序→Apache HTTP Server 2.2.14→Configure Apache Server →Edit The Apache httpd.conf Configuration File”,打开apache的配置文件httpd.conf。

(1) 在httpd.conf中找到DocumentRoot "C:/programfile/Apache/Apache2/ htdocs" 。

(注:这是apache的默认web文档文件夹,现在我们把他设置成apache读的网页文件是在我们刚创建的E:\httproot)将

        C:/programfile/Apache/Apache2/htdocs

改成

        E:/httproot

(2) 然后再找到 <Directory " C:/programfile/Apache/Apache2/htdocs”>将

        C:/programfile/Apache/Apache2/htdocs

改成

        E:/httproot (注意不要用反斜杠 “\”)并保存。

通过“开始→所有程序→Apache HTTP Server 2.2.14→Control apache server→restart”,重新启动apache,打开IE,在地址拦输入localhost,接Enter键打开地址,如果出现的页面不是刚安装apache时的欢迎页面,而是如图1-8所示,那么这一步配置正确了。

图1-8 安装完成后画面

(3) 返回到httpd.conf文件找到

        DirectoryIndex index.html index.html.var

在后面加入

        index.htm index.PHP

保存httpd.conf文件,Apache服务器配置完成。

1.2.4 PHP的安装

PHP的最新版程序我们也可以从它的官方网站(www.php.net)下载,目前版本为5.2.9-1。

PHP的安装是最简单的,我们将下载到的PHP程序包文件php-5.2.9-1-Win32.zip解压至硬盘上的一个文件夹内,如C:\PHP,就可以了。但是光安装好还是不够的,还需要进行相应的配置,来使PHP5和Apache顺利地配合起来。

PHP的运行需要使用php.ini文件来定义各种环境参数,PHP的配置指的就是配置php.ini文件。PHP解压后是没有php.ini文件的,出于安全和效率的考虑我们建议使用php.ini-recommended作为php.ini的蓝本,而不要使用php.ini-dist,把C:\PHP文件夹下的php.ini-recommended文件将其改名为php.ini即生成了该配置文件。

打开php.ini,找到extension_dir = "./" 改为extension_dir = "C:/PHP/ext",也就是PHP目录下,包含有许多dll文件的那个目录。找到

        ;extension=PHP_gd2.dll
        ;extension=PHP_mbstring.dll
        ;extension=PHP_MySQL.dll

这3行,把这3行前的";"都去掉,让这3行生效,也就是说,让PHP支持MySQL和GD库等组件。

然后在C:/PHP/ 创建文件夹session_tmp 。

找到包含有session.save_path的 这一行,设成

        session.save_path = "C:/PHP/session_tmp"。

这句话的作用是,让产生的session文件,都存到自定义目录C:/PHP/session_tmp里去,否则在PHP的系统目录里,会有很多session文件(真正用做网络服务器时就不要把session文件夹建到web文档文件夹里的)。

全部配置完成,保存php.ini退出就可以了。

1.2.5 连接服务器

为了让Apache服务器使用PHP程序来解释php脚本文件,我们需要再次打开Apache的httpd.conf文件,在最后加入这几行后保存。

        LoadModule PHP5_module C:/PHP/PHP5apache2_2.dll
        PHPIniDir " C:/PHP/PHP/php.ini"
        AddType application/x-httpd-PHP .PHP

目的是让PHP将.php文件作为它的解释的一种文件类型,增加对.php文件的解析支持。

1.2.6 PHP的测试

我们创建一个名为phpinfo.php的脚本文件保存入我们设定的网页根目录E:/httproot,其中的代码很简单,只有一句话。

        <?php
            phpinfo();
        ?>

然后打开浏览器,访问http://localhost/phpinfo.php,如果看到如图1-9所示,就说明PHP和Apache环境已经配置完毕,可以使用了。

图1-9 phpinfo运行测试