4

前几天我在考虑这个问题,想看看 SO 社区对这个主题有什么看法。

就目前而言,Common Lisp 作为一个 Web 开发平台受到了一些关注,并且有充分的理由(我相信你已经对此深信不疑)。

我想知道如何以与 PHP 类似的方式在共享环境中使用库。

如果我设置 SBCL 之类的东西作为解释器来解释 Python 或 PHP 等 FASL 文件,那么使用库(例如clsql)的最佳方式是什么。

大多数都是 asdf 可安装库,但是每次发出请求时都需要并安装库,这将是一笔愚蠢的开销。

请记住,这是针对共享主机的;最好..

1) 安装库的系统范围副本以在应用程序中使用;减少空间,但使用正确版本的库可能会出现问题。

2) 允许用户(通过控制面板)为自己安装本地副本;更多空间,没有版本问题。

3)告诉他们将它包装到一个模块中并像 Python 那样按需加载它(我不确定是否/如何使用 Lisp 来完成)。仅仅能够加载一个库以供使用将是最好的选择,但我认为它们中的很多都不是为了以这种方式使用而设计的。

无论如何,想听听你的意见,谢谢。

4

1 回答 1

2

我有两种看待它的方式:

  1. 为每个请求启动一个 Lisp

    这样一来,Lisp 是一个保存了所有必要的库和数据的图像会更好。但这种方法对我来说看起来不是很有希望。

  2. 运行 Lisp 并让前端(Web 浏览器、另一个 Web 服务器……)连接到它

    这样,您既可以启动保存的图像,也可以启动一次加载一堆东西并为请求提供服务的 Lisp。

我喜欢在部署场景中使用保存的图像/应用程序。它们可以快速启动,包含所有必要的软件并且独立于库更改。

因此,提供包含必要软件的预配置 Lisp 图像或让用户配置和保存图像可能很有用。

于 2009-04-08T09:38:32.703 回答