apache php 多站点配置 重新整理

需要下载的东东:

apache_2.0.59-win32-x86-no_ssl.msi (服务器软件,用来编译PHP的)

php-5.1.5-Win32.zip (PHP的主文件)

第一步:

1.安装apache_2.0.59-win32-x86-no_ssl.msi

2.在C盘建个文件夹叫PHP,把php-5.1.5-Win32.zip压缩到这个文件夹里

第二步:

配置httpd.conf

监听多个端口

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 8081
Listen 8082
Listen 8083
#增加监听端口

等以下内容都设置以后,可以通过netstat -n -a查看端口是否开启

开启虚拟站点

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
#修改为
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

配置PHP模块

加载php模块,php5apache2_2代表使用的是apache2.2或以上版本

LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "C:/php"

配置php文件类型映射

AddType application/x-httpd-php .php

配置conf/extra/httpd-vhosts.conf

<VirtualHost *:8082>
    ServerAdmin webmaster@dummy-host.localhost
    DocumentRoot "C:/PhpDocRoot/Site1"
    ServerName localhost
    ServerAlias localhost
    ErrorLog "logs/dummy-host.localhost-error.log"
    CustomLog "logs/dummy-host.localhost-access.log" common
    <Directory "C:/PhpDocRoot/Site1">  
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:8083>
    ServerAdmin webmaster@dummy-host2.localhost
    DocumentRoot "C:/PhpDocRoot/Site2"
    ServerName localhost
    ErrorLog "logs/dummy-host2.localhost-error.log"
    CustomLog "logs/dummy-host2.localhost-access.log" common
    <Directory "C:/PhpDocRoot/Site2">  
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<Directory...>...</Directory>一定不能少

重新启动apache试一下,如果出错,查看一下logs下面的log文件还有windows的事件查看器记录的错误日志。