PHP 1:在Windows上安装和配置PHP,Apache和My SQL

如果你Google一把类似的主题,你会发现相关的文章可以塞满你的硬盘。在这里之所以把它再次拿出来,目的是想记录我作为一个新手如何配置的,以及配置期间碰到的一些问题。期望其中的一些问题对大家有用。

下载安装文件就不用说了。

不过还是提一下版本吧。

  1. PHP:5.1.4
  2. Apache 2.2.3
  3. MySQL:5.0.2-community-nt
我安装的顺序如下:
  • 安装PHP
  • 安装Apache
  • 安装MySQL
  1. PHP安装
有人认为上面的安装顺序和普通安装顺序有点出入,是的,确实如此。一般来说先安装Apache,然后安装PHP。

在安装PHP的时候有个插曲,我下载的是PHP MSI包,但是这个包安装之后发现没有dev,ext等目录,和提供的install.txt文件出入太大了。我开始以为是我的机器有问题,后来再装了一次,发现和原来还是一样,于是有点晕了,后来到php的网站上一看,原来MSI下载后面有个说明,一阵狂晕,直接撞墙。于是下了ZIP包才了事,大概有8M多。唉,太粗心了。所以务必下载正确的安装包

2. Apache安装

首先说明一点,Apache安装有点意思。

安装时,它会提示一个重要的选择:选择端口和用户,缺省的是为所有用户安装,并且端口为80.但是还提供了另外一个选择,即为当前用户,端口为8080.如果机器的IIS选择的端口为80,并且你选择默认的方式,很显然到了安装Apache服务的时候就会有问题,因为端口已经应用。如果你选择后一种,它不会给你安装Apache服务。

下面提提我安装服务遇到的问题。

开始我选择的是第二种,即当前用户,端口为8080,结果是没有自动安装Apache服务,于是看Install文件,发现可以apache应用程序手动安装,于是按照他说的跑到Bin目录下,发现没有Apache.exe.没辄了。于是打开Apache的配置文件,设置一个不用的端口,重新安装Apache,但是选择的是第一种方式,这次居然好了。

提示,务必选择合适的端口号以及服务的用户,特别是装有IIS的机器

上面的装完之后,最繁琐的事情就是配置了。也许对Linux或Unix的用户来说,这是小菜一碟,但是对于Windows用户来说,稍微一点难度,可能微软是傻瓜型软件人才的缔造者吧。

配置的文章多的是,我也不多提,只提个人认为比较重要的几点。

  1. 在配置前写一个BAT文件。这个BAT文件干什么用的呢?就是为了测试Apache文件的语法是否正确。BAT文件内容可以为:其中的F:\Apache Software Foundation\Apache2.2就是Apache安装的目录。

    "F:\Apache Software Foundation\Apache2.2\bin\httpd.exe" -w -t -f "F:\Apache Software Foundation\Apache2.2\conf\httpd.conf" -d "F:\Apache Software Foundation\Apache2.2\."

    这样做的好处是进入命令行,直接运行此文件,就可以看到结果了。
  2. 配置PHP DSO模块。这个比较令人生厌,因为PHP提供的Php5Apache2.dll居然在Apache2.2.3不适用,还得下载个补丁才能了事。这个补丁到处都有,在Google输入Apache Php5Apache2.dll,马上就有成千上万。
  3. LoadModule这个家伙实在令人恶心。我输入 LoadModule php5-Module F:/php/Php5Apache2.dll时,把php5-Module误写为php5-Mdoule,居然告诉我错误。晕。至今我还不知道为什么。为什么呢?
为了测试PHP和Apache工作是否正常,写个简单的PHP文件吧。

1 <?php

2 phpinfo();

3 ?>

它显示PHP和Apache的信息。

3 MySql安装

这个比较简单,把php.ini的扩展修改一下,然后把扩展dll复制一下。so easy。

建议下载phpMyAdmin来操作MySQL。

4 总结

很多人都认为配置有些难度,当初我也是这么认为。现在我不这么想了,因为我认为掌握了其本质,才知道配置的简单程度。网上

关于配置的文章比比皆是,但是很少有人说出其本质。如果你经常在Linux或Unix平台下操作,那就不说了。反之,如果你是Windows的用户,

你极有可能使用IIS,我就是其中之一。

如果了解IIS,或者换句话说IIS是如何执行ASP,ASP.NET等页面的,我相信你再配置Apache,PHP等就不是什么难事了。

言归正传,配置Apache和PHP就类似于IIS和ASP.NET。但是微软考虑到了用户的配置,所以把IIS和ASP.NET的配置简化了。

一个PHP页面肯定先要通过解析等什么,这通过什么来完成呢?那就是PHP自己的解释器。所以你需要把php5ts.dll这个家伙考到Windows系统目录下,以便Apache可以调用它,整个系统可以调用它。那么为什么PHP怎么知道虚拟目录(或者称根目录)?那就是PHP.ini里的doc_root 设置的内容,有人问这是什么。相当的简单,就是IIS里的虚拟目录路径。有人还会问,那么PHP如何处理MySQL?这个问题非常好,也是很关键的。为什么PHP会链接MySQL?PHP不可能天生就会,这个时候就需要一个扩展,在php.ini有个extension_dir项,它就是用来指定扩展的路径的。但是这是一个目录,里面包含了很多扩展,有Mysql的,sybase的,SQL Server的,那么我如何指定我想要的扩展呢?答案很简单,还是php.ini文件,里面有个

extension项,如果你想扩展MySQL,可以为extension=php_mysql.dll,其他类似。

上面主要是PHP的讲解,下面稍微讲讲Apache的吧。记得在IIS里,如果想增加一个MIME类型,非常简单的,但是在Apache里,可没有什么界面给你按几个按钮就行了。这需要你打开httpd.conf,例如增加PHP类型,可以写到AddType application/x-httpd-php .php ,WORD可以为AddType Application/msword .doc.简单吧。

通过上面的解释,相信你对配置不再那么恐惧了吧。

接下来我将通过一个实例来学习这些东东!