前几天我正在考虑这个问题,想看看SO社区对这个问题的看法.
就目前而言,Common Lisp作为一个Web开发平台受到了一些关注,并且有充分的理由(我确信您已经确信).
我想知道如何以类似于PHP的方式在共享环境中使用库.
如果我设置像SBCL这样的插件来解释像Python或PHP这样的FASL文件,那么使用库的最佳方式是什么(例如clsql).
大多数都是asdf可安装的库,但每次请求时,每次要求和安装库都是一个愚蠢的开销.
请记住,这是共享托管;最好是..
1)安装库的系统范围副本以供应用程序使用;减少空间,但使用正确版本的库可能会出现问题.
2)允许用户(通过控制面板)为自己安装本地副本;更多空间,没有版本问题.
3)告诉他们将它包装到一个模块中并像Python一样按需加载它(我不确定是否/如何使用Lisp完成).只是能够加载库以供使用将是最好的选择,但我不认为它们中的很多都是以这种方式使用的.
无论如何,希望听到你的意见,谢谢.
最佳答案 我会看两种方式:
>为每个请求启动一个Lisp
这样,Lisp是一个保存的图像,加载所有必需的库和数据会好得多.但这种方法对我来说并不是很有希望.
>运行一个Lisp并让前端(Web浏览器,另一个Web服务器……)连接到它
通过这种方式,您可以启动已保存的映像或一次加载一堆内容并提供请求的Lisp.
我喜欢在部署方案中使用已保存的图像/应用程序.它们可以快速启动,包含所有必需的软件,并且独立于库更改.
因此,提供包含必要软件的预配置Lisp图像或让用户配置和保存图像可能很有用.