Lua CGI 调用套接字失败

Lua CGI fails on call to socket

我编写了一个简单的 Lua 脚本,用于读取和写入 XML 数据库。我想将它用作 CGI,最终返回数据以显示在网页中,但是当出于测试目的,我直接在浏览器中访问脚本时,它在 require("socket.http") 上爆炸了 500内部服务器错误,当在浏览器中 运行 时,它显然找不到 Lua 套接字库。

我已经很多年没有使用过 CGI 了,而且我在 Lua 方面还是个新手,所以感谢您的帮助。

it apparently can't find the Lua socket library when run in a browser.

我假设您的脚本正在使用 socket.http。如果是这样,您需要使 luasocket(包括其二进制库和 Lua 文件)可用于您的脚本。我的建议是在您尝试将其 运行 作为 CGI 脚本之前,先在本地 运行 使其工作。您需要为您的平台获取预编译的 luasocket 或自己编译并安装它。然后,您需要在脚本中使用 LUA_PATH 和 LUA_CPATH 来引用 Lua (PATH) 和二进制 (CPATH) 文件的位置。