Lua CGI 在调用 socket 时失败。

我编写了一个简单的 Lua 脚本,可以从 XML 数据库读取并写入。我想将它用作 CGI,最终返回数据以在网页中显示,但是当我为测试目的直接在浏览器中运行脚本时,它在 require("socket.http") 处崩溃,显示 500 内部服务器错误,并且显然无法在浏览器中找到 Lua socket 库。

我已经多年没有使用过 CGI,而且在 Lua 方面我也很新手,所以感谢任何帮助。

点赞
用户1442917
用户1442917

很明显是在浏览器中运行时无法找到 Lua socket 库。

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

2015-01-14 22:48:32