我决定玩lapis-https://github.com/leafo/lapis,但是当我试图用输出查询数据库(PostgreSQL)时,应用程序会退出:
2017/07/01 16:04:26[错误]31284#0:*8 lua入口线程已中止:运行时错误:尝试跨C调用边界屈服
堆栈回溯:
协同程序0:
[C]:在函数“require”中
/usr/local/share/lua/5.1/lapis/init.lua:15:在函数“serve”中
content_by_lua(nginx.conf.compiled:22):2:函数中,客户端:127.0.0.1,服务器:,请求:“GET/HTTP/1.1”,主机:“localhost:8080”
导致错误的代码:
local db = require("lapis.db")
local res = db.query("SELECT * FROM users");
配置.lua:
config({ "development", "production" }, {
postgres = {
host = "0.0.0.0",
port = "5432",
user = "wars_base",
password = "12345",
database = "wars_base"
}
})
数据库正在运行,表已创建,表1中有一条记录。
有什么问题吗?
决定:https://github.com/leafo/lapis/issues/556
最佳答案
您需要在host
参数中指定右边的server IP。
您指定的IP0.0.0.0
不是有效的IP,通常在指定侦听地址时使用,其含义为“每个地址”。
通常在开发过程中可以使用“127.0.0.1”地址。