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模块的加载:
复制内容到剪贴板
第一条是 rewrite模块,后面是代理模块,在文件最后加上以下代码
代码:
#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
复制内容到剪贴板
[文件D:/xampp/Apache/conf/extra/ httpd-manual.conf]XAMPP文件中加上以下代码(假设将要设置的虚拟主机都在d:/wwwroot下),否则页面将提示没有权限的错误
代码:
##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
复制内容到剪贴板
如果不方便设置域名的,可以更改hosts文件测试。代码:
<Directory "/wwwroot">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
用记事本打开:C:\windows\system32\drivers\etc\hosts,在最后添加:
复制内容到剪贴板
新建文件D:/xampp/apache/conf/vhost.map,代码:
127.0.0.1 www.test1.com
127.0.0.1 www.test2.com
127.0.0.1 www.test3.com
新建d:/wwwroot/test1和d:/wwwroot/test2、d:/wwwroot/test3目录,在其下面新建index.php文件。内容如下:
复制内容到剪贴板
在xampp控制面板上重启apache。代码:
<?php
echo "PHP版本:".PHP_VERSION;
echo "<br>本文件路径:".__FILE__;
?>
二、调试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,内容如下
复制内容到剪贴板
在浏览器中输入http://www.test1.com、http://www.test2.com、http://www.test3.com 分别测试可以看到已经指定为不同的路径了。代码:
www.test1.com c:/wwwroot/test1
www.test2.com c:/wwwroot/test2
www.test3.com http://localhost:81
并且第一个和第二个都是PHP版本:5.2.3,第三个却是php版本:4
为了完善配置,你还可以增加Mysql和Mssql支持,这是后话。
至此,你的服务器就能以同一个端口(80)提供asp,.net,php4和php5的服务。
. TAG: IIS 虚拟主机 APACHE 端口 动态