从IIS的ASP迁移到APACHE的PHP的方法

 目前在网站服务器软件市场中,开放源码的Apache服务器占据了60%的市场份额,而微软免费捆绑在操作系统当中的IIS排名第二,其市场份额为31%,从总体上看,目前的网站服务器软件市场已经被Apache和IIS瓜分。

  一般从性能上通常都认同Apache的性能优于IIS,虽然IIS的操作管理界面非常简单易用,但是从IIS平台迁移到Apache平台依然是大势所趋,今天我就介绍几种从IIS的ASP转换到Apache的PHP的方法。

  通过插件模拟运行ASP

  通过一些公司的产品,直接让IIS的ASP代码正常运行于Apache环境,目前主要的产品有:

  Apache::ASP  http://www.apache-asp.org/

  SUN ONE ASP  http://www.sun.com/software/chilisoft/

  iASP http://www.51xzs.com/download/iasp-156.html

  通过程序转换ASP到PHP

  ASP和PHP都是很易用的网页脚本语言,目前有一些第三方程序可以将ASP转换到PHP,例如免费的asp2php。

  asp2php 是一个把 ASP 转成 PHP 的转换程序,类似的转换程序还有Chilisoft、InstantASP 与 Free ASP,目前 asp2php 可以转换大部分的ASP程序,不过,转换过程中有一些Bug,需要手动进行源代码的调整。

  使用Windows环境调用COM

  如果使用Windows + Apache的环境,那么数据库可以依旧使用Access或SQL Server数据库,使用PHP创建ADODB的COM组件后可以直接使用其命令,调用方法和ASP中的完全一样,示例代码如下:

$conn=new com("adodb.connection");
$conn->open("driver=microsoft access driver (*.mdb);dbq=member.mdb");
$rs=$conn->execute("select * from tablename");
while(! $rs->eof) {
  $f = $rs->Fields("username");
  echo $f->value;
  $rs->MoveNext();
}
$rs->close();
$conn->execute("update tablename set username='williamlong' ");

==========================

1下载iasp的win32版:iASP2.1.01.exe,10M左右。
2 安装apache。
3 双击iASP2.1.01.exe,开始安装。安提示做即可。
我的安装路径为:c:\IASP2101
4 安装完毕后,提示是否现在配置iasp。当然选择:是。
5 配置:
第一步:代理服务(proxy)选择:instant asp native servlet support
第二步:WEB SERVER选择:apache。(可以不管它提示)
第三步:选择apache的配置文件:httpd.conf的位置。我的为:c:\apache\conf\httpd.conf
版本选择1.3.2X(根据您的apache版本选择)。
proxy:如果您有固定ip,添入您的固定ip。如果没有,那就添:127.0.0.1。
port: 这是apache与iasp之间的代理接口。使用默认(9098)即可。
server manager port:远程管理端口,选择默认(9095)即可。
6 说明: iasp在apache的配置文件httpd.conf最后加入了以下语句:
# iASP Setting
LoadModule iasp_module "C:/IASP2101/bin/apache/win32/1.3.20/iasp.dll"
Alias /iasp "C:/IASP2101"
IaspConfig server "C:/IASP2101/properties/server.properties"
IaspConfig rules "C:/IASP2101/properties/rules.properties"
更改完毕后,保存,重启apache
7 执行:开始->程序->Instant ASP 2.1.01->Install iASP as NT Service
这样,iasp就被加到了win2000 server的服务中。
执行:开始->程序->Instant ASP 2.1.01->Start Instant ASP
这样,iasp就被立即打开。apache可以支持asp了!

忙了一个小时,偶终于装上了win32版的iasp。下面就说一下偶的安装步骤。
1 http://www.stryon.com/下载iasp的win32版:iASP2.1.01.exe,10M左右。
2 确定您的win2000 server 已经安装了jdk,apache。偶装的为:
apache_1.3.27-win32-x86-no_src.exe
jdk140.exe
3 双击iASP2.1.01.exe,开始安装。安提示做即可。偶的安装路径为:c:\IASP2101
4 安装完毕后,提示是否现在配置iasp。当然选择:是。
5 配置:
第一步:代理服务(proxy)选择:instant asp native servlet support
第二步:WEB SERVER选择:apache。(可以不管它提示)
第三步:选择apache的配置文件:httpd.conf的位置。偶的为:c:\apache\conf\httpd.conf
版本选择1.3.2X(根据您的apache版本选择)。
proxy:如果您有固定ip,添入您的固定ip。如果没有,那就添:127.0.0.1。
port: 这是apache与iasp之间的代理接口。使用默认(9098)即可。
server manager port:远程管理端口,选择默认(9095)即可。
第四步:配置完成。
6 说明: iasp在apache的配置文件httpd.conf最后加入了以下语句:

# iASP Setting
LoadModule iasp_module "C:/IASP2101/bin/apache/win32/1.3.20/iasp.dll"

Alias /iasp "C:/IASP2101"
IaspConfig server "C:/IASP2101/properties/server.properties"
IaspConfig rules "C:/IASP2101/properties/rules.properties"

7 通过更改httpd.conf更改apache的默认首页:

DirectoryIndex index.htm
DirectoryIndex index.php
DirectoryIndex index.asp

更改完毕后,保存,重启apache
8 执行:开始->程序->Instant ASP 2.1.01->Install iASP as NT Service
这样,iasp就被加到了win2000 server的服务中。
执行:开始->程序->Instant ASP 2.1.01->Start Instant ASP
这样,iasp就被立即打开。apache可以支持asp了!

例子:index.asp中写入此句:〈%response.write("我成功了!"%〉 ,保存到apache的网页根目录。

在浏览器中写:http://您的ip:apache端口号/ 回车,看到 “我成功了!” 您的iasp就安装成功了!

执行:开始->程序->Instant ASP 2.1.01->Start admin

您还可以通过http://您的ip:9095登录远程管理来管理iasp。默认用户名密码:admin。



[本日志由 webfly 于 2008-08-06 03:11 PM 编辑]
文章来自: 本站转贴
引用通告: 查看所有引用 | 我要引用此文章
Tags: IIS asp Apache PHP iASP
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.