在 Ubuntu 12.04 上运行经典的 ASP 网站

J. *_*uni 5 windows software-recommendation

我将开始将在 Classic ASP 上编程的旧网站转换为 PHP。我想在本地运行和测试 ASP 脚本。

那么,如何在我的 Linux Ubuntu 12.04 (w/ LXDE) 系统中运行这些 ASP 脚本?

我知道我可以在 Virtual Box 中使用虚拟机并在那里安装这些东西。如果这是唯一的解决方案,也许我会这样做。

也许有人会在 Wine 上提出一些建议。我不知道。

但我更喜欢如果有什么可以本地运行的东西,因为 PHP 本身运行......理想情况下,我会像配置 PHP 文件一样配置我的 NginX HTTP 服务器......

我想知道这样的经典 ASP 的可安装 Linux 版本是否存在......是吗?

谢谢你。

Oli*_*Oli 12

我知道在那天(我们谈论的是十四年前,当我使用 ASP 时)有 ASP 的替代实现。我见过的最著名也是唯一一个在非 Windows 上运行的软件是 ChiliSoft ASP。

但 ChiliSoft 被 Sun 吞并了。Sun 淘汰了 ChiliSoft 的产品,但将其灵魂和功能吸收到了 Sun Server One 中。更多的时间发生了,Sun 被 Oracle 吃掉了……在那段时间的某个地方,产品死了。即使它以某种方式仍然存在,我敢打赌它不会被维护,更不用说与 Linux 2.6+ 兼容了。

ASP 是古老的

我不需要指出这一点,但我需要强调的是,十多年来没有人认为它值得推广,更不用说浪费大量时间重新实现如此有限的语言和框架了。

可能有可能在 Wine 下运行一个替代实现。或者甚至是本机代码 - 但是如果您的遗留代码使用诸如 ODBC 数据库之类的任何东西(现在的孩子们不知道我在说什么),那么您将被塞满。

解决这个问题最简单的方法就是镜像你 10 年前的堆栈。在 Virtualbox 上装一个 Win2k 的副本,然后按照设计的方式托管它。进行移植,然后所有文件移动到闪存驱动器(或 Iomega Zip Disk,如果您讨厌不合时宜),其粘贴到一块沉重的岩石上,然后将婴儿扔进大海。


注意:像这样Apache::ASP的包裹是红鲱鱼。有很多模块可以提供类似 ASP 的解释。Apache::ASP在整个事情上提供了类似于 Perlscript 的旋转,但它不会让您运行 VBScript。

注 2: ModVB 存在,但自 2003 年成立以来似乎没有被触及。这是基于2002年的mod_gb,它在过去十年中的活跃度同样低。我不确定这些中的任何一个都可以与现代 Apache 一起使用,而且您仍然有辅助问题(例如数据库)。

注 3:可以使用以您喜欢的任何语言编写的自制解析器自己重新实现 ASP。大多数已经存在一段时间的语言都有语言解析器。它可能会更慢和错误,但它可能足以实际运行某些东西。但说真的,如果你甚至考虑这个,你就很傻。请用当前语言重新实现您的网站。

  • 钟声拯救---所以,我们在这里......四年后。你知道发生了什么吗?我会告诉你:就在我要签署这份工作合同的同一天,我得到了一个更好的合同,多付了 4 倍。结果是 - 幸运的是我 - 我从来不需要进行这个经典的 ASP 到 PHP 的转换。无论如何,我仍然感谢您的出色回答。 (3认同)
  • 事实上,Virtual Box 将是一条出路。感谢您的精彩回答! (2认同)
  • 应该注意的是,即使您找到了在 Linux(例如 Apache 或 nGinx)服务器上运行经典 ASP/VBScript 代码的方法,许多传统的经典 ASP 应用程序都依赖于 Windows COM+ 对象,例如 CDONTS 和其他自定义 DLL,这将不能在 Linux 中运行。虚拟化是一种选择,但如果您走这条路,请*不要*使用不受支持的 Windows 服务器版本,例如 2000 或 2003,因为这些版本存在未修补的安全漏洞,会使您的基础设施遭受不必要的攻击。 (2认同)