青青子衿, 悠悠我心, 但为君故, 沉吟至今
« GoDaddy无法从中国访问通用PHP动态生成静态HTML网页的代码 »

从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.instantasp.co.uk/

  通过程序转换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' ");



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/1288.html
  • 文章排行:
  • 1.游客
  • 相信ASP自动转换PHP是不现实的。
  • 2008/3/29 0:28:54   支持(15)反对(6) 回复
  • 2.神经猫
  • 没有必要。asp最佳的支持环境还就是windows。用Linux去支持asp真是没有必要。
  • 2008/3/31 8:47:18   支持(16)反对(10) 回复
  • 3.低调年华
  • Apache支持asp真的是不错。
    SUN ONE ASP不支持父路径 需要改程序代码
    iASP貌似收费~
    Apache::ASP还没实验成功。
    如果一个网站主要运行PHP,使用IIS开伪静态cpu占用会超过50%,Apache在10%以内。
    Win+IIS打效率比win+Apache低很多的,不过Win+IIS配置要简单的多。
    我的服务器跑2个PHP论坛、1个asp博客,我认为Apache支持Asp很有必要。
  • 2008/3/31 23:39:52   支持(14)反对(8) 回复
  • 4.zylew
  • 以后可能会用到,留个脚印~~
  • 2008/3/28 22:11:11   支持(16)反对(12) 回复
  • 5.手气不错
  • 个人对于此 ASP 传换成 PHP 以后的脚本运行效率以及兼容性保留意见

    PS:请各位尽量不要发布无意义的留言
  • 2008/3/28 23:52:57   支持(15)反对(11) 回复
  • 6.小酒
  • asp2php,很怀疑转换的准确性,类这些,自己写的组件这些不知道能否较好的转换.
  • 2008/3/30 11:52:13   支持(15)反对(11) 回复
  • 8.bill
  • 同意17楼的观点,这篇有些主观了。
  • 2008/3/29 22:16:34   支持(12)反对(9) 回复
  • 9.jiachun
  • 出于版权的因素是可以考虑转移到LINUX环境中的,william只是提供了一种可选的渐进转移方法。如果公司做大了,可以转。
  • 2008/9/8 17:16:26   支持(15)反对(12) 回复
  • 10.阳光男孩
  • iASP的链接不对,怎么是“预防自杀协会”?
  • 2008/3/29 8:36:58   支持(12)反对(10) 回复
  • 11.webmanage
  • 我用ASP也用PHP,客户是哪种需求就用哪种技术,无论哪个都有自己的优点,如果客户只是一个通用的小应用租用的是只支持ASP的虚拟服务器,这种情况应该说是比较多碰到的,那从网上下一个ASP程序改改不就得了,这样与人与已都方便,总不能为了技术上说PHP执行快什么的就一定要用这个,搞得自己这么累,客户还得去多花钱和时间去重新找一个新的空间,万一这个客户对技术不了解,不但不了解你这么做的好处,说不定还要怀疑你这么做的目的。
  • 2008/3/30 10:21:30   支持(11)反对(9) 回复
  • 14.Washun
  • 从IIS的ASP迁移到APACHE的PHP的方法?没看懂啥意思。
  • 2008/3/28 22:40:08   支持(14)反对(14) 回复
  • 15.杂友
  • 我学得属于同一个技术层面的语言脚本,没有本质差别。迁移成为趋势一说,怕是没有这么重。
  • 2008/3/29 0:38:36   支持(12)反对(12) 回复
  • 17.williamlong
  • 我已经让华军网将那篇抄袭文章删除了。多谢你提供的信息。
  • 2008/10/13 17:39:50   支持(11)反对(11) 回复
  • 18.webmanage
  • 其实一种技术好不好,不但是从功能上来看,很重要的一点是长远的支持上,应该说L+A+P是种不错的搭配,可IIS和ASP.NET有了微软这个庞然大物的支持,那个能笑到最后尚未可知。大家都知道DOS是怎么来的,可它就走出一条与UNIX不同的道路,同样是从U系统来的LINUX在易用性方面就不如WINDOWS,有人可能会说L比W稳定什么的,可这是因为W为了兼容性而进行的牺牲,这就好比用小型机去跟PC类比一样,不是一个档次的比较。一个技术再好,没有人去用,那它靠什么走的更远?任何事物发展都是要有人去投入时间和精力,而人都是要穿衣饭,有各种各样的需求的,这就要有钱的支持了。
  • 2008/3/30 10:15:22   支持(8)反对(9) 回复
  • 20.williamlong
  • 不好意思,这个链接已经修改。
  • 2008/3/29 8:55:32   支持(9)反对(11) 回复
  • 22.tony
  • 博主的文章对在技术上是不错的,但尽可能的避免这样做
    1.让IIS解析PHP还有情可原,在APACHE上解析ASP实在是想不出理由,也没有必要。要不好好的用MS平台要不就用LAMP结构。
    2.无论是ASP2PHP还是逆向的工具都不好用,稍微复杂一点的代码就不能支持。
    3.从IIS平台迁移到Apache平台依然是大势所趋,这点不能同意,相反IIS在今后绝对会随着.net的不断发展会占有越来越大的市场。直到现在在linux的上MONO还是一个实验室项目。
  • 2008/3/29 19:57:27   支持(12)反对(14) 回复
  • 23.yoyo
  • 我觉得“通过插件模拟运行ASP”和“通过程序转换ASP到PHP”不怎么靠谱,至少稳定性不敢恭维,至于第三种“使用Windows环境调用COM”,也许可能还行吧。
    其实要真的迁移到LAMP平台或者WAMP平台,还是自始至终基于这个AMP平台开发的程序最健壮。
  • 2008/3/31 9:43:17   支持(9)反对(12) 回复
  • 24.lovehr
  • 为什么要迁移啊?ASP挺好的,顺便鄙视一下楼上的3位!
  • 2008/3/28 21:54:50   支持(9)反对(14) 回复
  • 27.菠菜
  • 相信这对很多人来说都是有用的。
  • 2008/3/29 0:01:26   支持(7)反对(15) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.