如何在Apache中设置mod_lua来访问第三方Lua模块?

2024-01-27

我正在尝试为 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"

Or

require "cgilua"

我得到以下输出:

Error!

尝试调用 nil 值

但是,某些模块确实可以工作,例如:

require "base"

其功能符合预期。

如果我导航到文件系统中的 base.lua (c:\program files\lua\5.1\lua\base.lua) 并删除此文件,然后尝试运行我的脚本,我会得到与上述相同的错误。所以这一定是 mod_lua 正在检查模块的目录。模块 dll 不在这个文件夹中,而是在 c:\program files\lua\5.1\clibs\ 中,我设置了环境变量 LUA_CPATH 来指向它。

Luasocket 和 cgilua 都存在于该文件夹中,但当我尝试在脚本中使用它们时,它们会导致错误。

据我所知,它可以与任何纯 lua 模块一起正常工作,但是任何具有 cmodules 的东西(套接字等)都会导致问题。

附加信息:

  • 操作系统:Windows 7 家庭高级版
  • LUA_PATH = c:\程序文件\lua\5.1\lua\
  • LUA_PATH = c:\程序文件\lua\5.1\clubs\
  • 阿帕奇版本:2.2.22
  • mod_lua版本:http://www.corsix.org/content/mod-lua-win32#comment-3214 http://www.corsix.org/content/mod-lua-win32#comment-3214

需要做什么才能在 mod_lua 运行的脚本中调用模块?


看来你需要添加Lua包CPath http://httpd.apache.org/docs/trunk/mod/mod_lua.html#luapackagecpath and/or Lua包路径 http://httpd.apache.org/docs/trunk/mod/mod_lua.html#luapackagepath站点配置的指令(在全局配置文件或 .htaccess 中,...)。

就你而言,我假设

LuaPackagePath c:\program files\lua\5.1\lua\
LuaPackageCPath c:\program files\lua\5.1\clibs\

应该可以解决问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Apache中设置mod_lua来访问第三方Lua模块? 的相关文章

随机推荐

  • 类、对象、实体:有什么区别?

    我还看到其他术语 实体对象 值对象等 还有其他我应该知道的术语吗 这些术语指的是什么 如果有的话 可以通过阅读代码来识别它们之间的差异吗 类是创建对象的模板 并非所有 OO 语言都使用类 请参阅 Self Javascript 通常 类被实
  • 错误:为 i386 构建时,重载运算符“[]”的使用不明确

    考虑以下代码 include
  • 如何在 Eclipse 中运行 Play 项目

    你好 我一直在尝试寻找如何在 Eclipse 中运行 Java Play 项目 但我找不到简单的方法 这是我所做的 创建一个项目 play new testApp 转到文件夹 cd testApp 使项目黯然失色 play eclipsif
  • 如何使用 xmlhttprequest 从 javascript 将字符串发送到 servlet [重复]

    这个问题在这里已经有答案了 客户端代码 function myReq try var myJSONObject main url http facebook1474159850 altervista org var toServer myJ
  • Mvc3 - 处理(几乎)所有请求所需的数据的最佳实践?

    我正在 mvc3 中创建一个应用程序 想知道如何处理所有应用程序请求所需的数据库数据 其中一些取决于会话 其中一些取决于 url 模式 基本上所有数据都在数据库中 喜欢了解最佳实践 我在应用程序中所做的并认为最佳实践是将通用数据加载到控制器
  • 如何获取 Mercurial 存储库中每个文件的最新版本号列表?

    我为我的 Web 应用程序创建了一个构建系统 该系统重写所有资源 url 以包含文件的修订号 以改进客户端缓存 截至今天 我正在为每个文件运行此命令以获取修订号 hg log template rev n path to file 对每个文
  • 基于 NSFetchedResultsController 的表视图在第二次插入实体时总是失败

    我正在使用 NSFetchedResultsController 来管理在具有一个部分的表视图中显示获取的托管对象 该表一开始是空的 用户可以使用 UI 向其中添加新实体 就目前情况而言 程序在添加第一个实体时始终有效 而在添加第二个实体时
  • C# 中的心电图数字信号处理

    我正在寻找用于数字滤波 低通 高通 陷波 的 C NET 库 以实时过滤心电图波形 有什么建议么 如果这是非商业用途 我听说过关于信号实验室库 http www mitov com html signallab html 非商业用途免费 商
  • MDX - TopCount 加“其他”或“其余”

    我创建了一个 MDX 查询 用于计算前 10 个邮政编码 根据我的患者住院测量 如下所示 WITH MEMBER Discharge Date Y M D Aggregation AS AGGREGATE EXISTING Current
  • 如何在 Github Actions 中查看已取消步骤的日志?

    我的工作流程中有一个步骤是运行命令 python 脚本 这个 python 脚本似乎挂在执行过程中的某个地方 GitHub 显示该步骤在运行时被卡住并且没有任何反应 为了调试这个 我想查看 python 脚本的日志输出 我怎样才能做到这一点
  • PHP 中的测试驱动开发

    我是一名使用 PHP 工作的 Web 开发人员 我在 C 桌面应用程序中使用测试驱动开发的经验有限 在这种情况下 我们使用 nUnit 作为单元测试框架 我想在新项目中开始使用 TDD 但我真的不知道从哪里开始 对于基于 PHP 的单元测试
  • 通知在 flutter 上显示两次

    我被困住了 我的后台通知显示两次 但前台只有一个通知 这是我的代码 Future
  • 谷歌数据存储中的节点分页

    我在使用 Google Datastore 进行分页时遇到问题 我有一个查询 没有限制 有几百个结果 我想检索 5 个 将它们发送回用户 如果用户想要更多 他们会检索下 5 个 根据文档 我创建了查询 var query datastore
  • div 相对于窗口的位置?

    尝试找到 div 相对于窗口的位置 我有一个水平 div 我想获取相对于窗口的左侧值 因此 如果我将第二个 div 滚动到窗口左侧 它将显示 0 不确定如果没有父 div 这是否可行 这是我的小提琴 http jsfiddle net FS
  • 如何在 Symfony2 配置中添加带有值的数组?

    我想在配置文件 config yml 中添加一个简单的值列表 例如 my bundle columns col1 col2 将节点添加到配置解析器时 它只是失败 rootNode treeBuilder gt root my bundle
  • NHibernate 测试,模拟 ISession

    我正在使用 NHibernate 和 Rhinomocks 但在测试我想要的东西时遇到了困难 我想在不访问数据库的情况下测试以下存储库方法 其中 session 作为 ISession 注入存储库 public class Reposito
  • SQL语句只删除一行重复项

    所以我正在使用 Ruby 工作 并假设我的两列表中有 6 行完全相同 就我而言 我的表 campaign items 有两列 campaign name 和 item 我想使用单个查询仅删除 6 个重复项中的一行 我是这样开始的 db ex
  • Flex 页脚在 Chrome 中不会停留在底部

    仅当内容短于视口时 我才使用 Flexbox 让页脚保持在底部 如果它较高 页脚应保持在内容下方 以便您必须滚动才能看到它 这在 Firefox 和 Edge 中可以正常工作 但在 Chrome 或 IE 中则不行 在 Chrome 中 正
  • WCF - 自定义凭据和安全令牌

    我对 WCF 开发相当陌生 在学习该框架时遇到了一些问题 我有一个必须支持 REST 和 SOAP 的服务 API 到目前为止 这很容易实现 尤其是使用 WCF4 和路由 我目前正在研究授权 并通过创建两个新的管理器类来扩展 Authori
  • 如何在Apache中设置mod_lua来访问第三方Lua模块?

    我正在尝试为 Apache 设置 mod lua 模块 但在访问第三方 Lua 模块时遇到了困难 假设我在 Apache 的 htdocs 文件夹中有一个 hello world lua 其中包含以下内容 require apache2 f