Hello!
2014-03-13 11:55 GMT-07:00 gate Bill:
> Lua 版本 Lua 5.2.3
> LuaJIT 版本:LuaJIT 2.0.2
>
你这里标准 Lua 5.1 和 LuaJIT 如何能共存?你在编译时只能选择使用其中之一吧?
>
> 编译的时候,出现这个错误
>
> ../lua-nginx-module/src/ngx_http_lua_common.h:31:5: error: #error
> unsupported Lua language version
这个错误消息已经明确指示了问题所在,你使用的 Lua 语言版本是不被支持的。显然,你这里使用的是标准 Lua 5.2 解释器,而不是
LuaJIT. Lua 5.2 是一种新的语言,ngx_lua 模块并不支持它。这在 ngx_lua 的官方文档中有明确交待:
https://github.com/chaoslawful/lua-nginx-module#installation
LuaJIT 实现的是 Lua 5.1 语言(以及可选的和 Lua 5.1 相兼容的一些 Lua 5.2 语言特性)。
建议总是使用 LuaJIT 2.x,无论是出现性能方面的考虑,还是出于最大化 openresty 相关功能方面的考虑。特别地,推荐使用
ngx_openresty 软件包(其中默认就包含并启用最新的 LuaJIT v2.1)。
Regards,
-agentzh