我已经下载并安装了Apache 2.4.4(现在附带了mod_lua模块)。启用它如下:
- 的httpd.conf -
LoadModule lua_module modules/mod_lua.so
AddHandler lua-script .lua
并运行一个简单的脚本,它的工作原理。
- 的htdocs / hello.lua -
function handle(r)
r.content_type = "text/html"
r:puts("Hello Lua World!\n")
end
我现在想要连接到本地pg数据库,但无法使其正常工作。
function handle(r)
r.content_type = "text/html"
r:puts("Hello Lua World!\n")
local db, err = r:dbacquire("postgres", "postgres://user:secret@localhost/db0")
if not err then
r:puts("connected!")
else
r:puts("couldn't connect!")
end
end
没有任何错误消息。我错过了进一步的配置吗?
感谢您的任何意见!
答案 0 :(得分:1)
Apache httpd基于APR,提供数据库连接; 因此,请确保您的APR安装支持您要使用的数据库层。
答案 1 :(得分:0)
结果我得到了驱动程序名称和连接字符串错误。用这个替换问题中的dbacquire行应该可以使它工作。
db = r:dbacquire("pgsql", "hostname=localhost dbname=foo user=bar password=baz")
更好的是,将它们嵌入到httpd.conf中就像这样
DBDriver pgsql
DBDParams "hostname=localhost dbname=foo user=bar password=baz"
只需在你的lua脚本中执行此操作即可逃脱
db = r:dbacquire()
--start using your db here