- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试为 Apache 设置 mod_lua 模块,但在访问第三方 Lua 模块时遇到了困难。假设我在 Apache 的 htdocs 文件夹中有一个 hello_world.lua,它有这样的东西:
require "apache2"
function handle(r)
r.content_type = "text/html"
r:write "Hello World from <strong>mod_lua</strong>."
return apache2.OK
end
然后我转到“http://localhost/hello_world.lua”,它将按预期运行。但是,如果我尝试添加一行,例如:
require "socket"
或者
require "cgilua"
我得到以下输出:
Error!
attempt to call a nil value
但是,有些模块确实可以工作,例如:
require "base"
按预期运行。
如果我导航到文件系统 (c:\program files\lua\5.1\lua\base.lua) 中的 base.lua 并删除该文件,然后尝试运行我的脚本,我会遇到与上述相同的错误。所以这一定是 mod_lua 正在检查模块的目录。模块 dll 不在这个文件夹中,而是在 c:\program files\lua\5.1\clibs\中,我设置了环境变量 LUA_CPATH 指向它。
Luasocket 和 cgilua 都存在于这个文件夹中,但是当我尝试在我的脚本中要求它们时它们会导致错误。
据我所知,它适用于任何纯 lua 模块,但任何具有 cmodules 的东西(套接字等)都会导致问题。
附加信息:
需要做什么才能在 mod_lua 运行的脚本中请求模块?
最佳答案
看起来您需要添加 LuaPackageCPath和/或 LuaPackagePath站点配置的指令(在全局配置文件或 .htaccess 中,...)。
在你的情况下,我假设
LuaPackagePath c:\program files\lua\5.1\lua\
LuaPackageCPath c:\program files\lua\5.1\clibs\
应该可以解决问题。
关于windows - 如何在 Apache 中设置 mod_lua 以访问第三方 Lua 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9696771/
我已经下载并安装了 Apache 2.4.4(现在带有 mod_lua 模块)。像这样启用它: --httpd.conf-- LoadModule lua_module modules/mod_lua
如何配置 mod_lua 使用 LuaJIT ,而不仅仅是普通的 Lua ? 最佳答案 我能够像这样编译 Apache 2.3 并将 mod_lua 链接到 LuaJIT 2.0b6: LUA_LIB
我正在尝试为 Apache 设置 mod_lua 模块,但在访问第三方 Lua 模块时遇到了困难。假设我在 Apache 的 htdocs 文件夹中有一个 hello_world.lua,它有这样的东
我是一名优秀的程序员,十分优秀!