当前位置: 主页 > 服务器技术 > Web服务器 > IIS apache PHP4 PHP5共用端口,动态配置虚拟主机

IIS apache PHP4 PHP5共用端口,动态配置虚拟主机

时间:2009-11-24来源:互联网 点击:
环境:

Windows 2003

IIS6

xampp xampp-win32-1.6.3a.zip(含 apache2 php4 php5 mysql)

下载:http://downloads.sourceforge.net ... 78&big_mirror=1

由于PHP环境和IIS安装等教程网上有很多,我在这里就不重复了。所以用xampp集成的安装包做测试。xampp可以下载最新版本的。http://xampp.cc:8080/xampp

一、安装环境

安装好IIS,将默认站点的端口改为81,保证使用http://localhost:81/能正常访问

将下载的xampp压缩包解压在 d:/xampp/注意不要是d:/xampp/xampp/这种

打开:d:/xampp/xampp-control.exe 启动apache 保证http://localhost/能出现xampp的欢迎界面。

二、调试apache

打开:D:\xampp\apache\conf\httpd.conf (建议修改前做个备份,如果出错直接恢复过来)

删除下面四条语句开头的#,apache启动时进行dso模块的加载:
复制内容到剪贴板
代码:
#LoadModule rewrite_module modules/mod_rewrite.so

#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
第一条是 rewrite模块,后面是代理模块,在文件最后加上以下代码
复制内容到剪贴板
代码:
##RewriteLog 文件,可以看到反向代理和虚拟主机指向情况。如有需要可以去掉前面 的注释

##RewriteLog "/xampp/apache/conf/rewrite_log.log"

##RewriteLogLevel 2

# 重写引擎开启

RewriteEngine on

# 将服务器名小写规则

RewriteMap lowercase int:tolower

RewriteMap vhost txt:d:/xampp/apache/conf/vhost.map

RewriteCond ${lowercase:%{SERVER_NAME}} ^(. )$

RewriteCond ${vhost:%1} ^(http.*)$

#代理

RewriteRule ^/(.*)$ %1/$1   [P]

#目录虚拟主机

RewriteCond ${lowercase:%{SERVER_NAME}} ^(. )$

RewriteCond ${vhost:%1} ^(.*)$

RewriteRule ^/(.*)$ %1/$1
[文件D:/xampp/Apache/conf/extra/ httpd-manual.conf]XAMPP文件中加上以下代码(假设将要设置的虚拟主机都在d:/wwwroot下),否则页面将提示没有权限的错误
复制内容到剪贴板
代码:
<Directory "/wwwroot">

Options Indexes

AllowOverride None

Order allow,deny

Allow from all

</Directory>
如果不方便设置域名的,可以更改hosts文件测试。

用记事本打开:C:\windows\system32\drivers\etc\hosts,在最后添加:
复制内容到剪贴板
代码:
127.0.0.1   www.test1.com  

127.0.0.1   www.test2.com

127.0.0.1   www.test3.com
新建文件D:/xampp/apache/conf/vhost.map,

新建d:/wwwroot/test1和d:/wwwroot/test2、d:/wwwroot/test3目录,在其下面新建index.php文件。内容如下:
复制内容到剪贴板
代码:
<?php

echo "PHP版本:".PHP_VERSION;

echo "<br>本文件路径:".__FILE__;

?>
在xampp控制面板上重启apache。

二、调试IIS

复制:d:/xampp/php/php4/php.ini到c:/windows/php.ini

打开:php.ini,将所有的"/xampp"改为"d:/xampp"

将zend_optimizer.enable_loader = 0 改为 1

打开IIS管理:添加一个新的web扩展

.php d:/xampp/php/php4/php4isapi.dll

默认网站中添加一个isapi筛选器

主目录选项卡选择"配置",

添加一个应用程序扩展.php对应:d:/xampp/php/php4/php4isapi.dll

并将“index.php”添加为默认页。

将主目录本地路径设置为:d:/wwwroot/test3

脚本资源访问选中,执行权限选择纯脚本即可

在运行里输入iisreset重启iis,打开http://localhost:81/可以看到输出
复制内容到剪贴板
代码:
PHP版本:5.2.3

本文件路径:D:\wwwroot\test3\index.php
三、测试

更改:D:/xampp/apache/conf/vhost.map,内容如下
复制内容到剪贴板
代码:
www.test1.com   c:/wwwroot/test1

www.test2.com c:/wwwroot/test2

www.test3.com http://localhost:81
在浏览器中输入http://www.test1.com、http://www.test2.com、http://www.test3.com 分别测试可以看到已经指定为不同的路径了。

并且第一个和第二个都是PHP版本:5.2.3,第三个却是php版本:4

为了完善配置,你还可以增加Mysql和Mssql支持,这是后话。

至此,你的服务器就能以同一个端口(80)提供asp,.net,php4和php5的服务。
站长资讯网
. TAG: IIS 虚拟主机 APACHE 端口 动态
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言