我决定玩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”地址。

10-08 15:06