我有一些Lua代码,我在openresty nginx.conf文件中使用它。这个Lua代码包含这样的行:
...
local secret = os.getenv("PATH")
assert(secret ~= nil, "Environment variable PATH not set")
...
出于测试原因,我试图检查是否设置了PATH变量,并且由于某种原因,断言语句没有通过。我在控制台中看到了:
未设置环境变量PATH
但是,当我运行这个
时$ echo $PATH
我知道,这个变量确实有一些价值。那么,这有什么问题,我该如何解决?
答案 0 :(得分:12)
您需要告诉nginx使环境变量可用。从docs for the env
directive:“默认情况下,nginx删除从其父进程继承的所有环境变量,但TZ变量除外。该指令允许保留一些继承的变量,更改它们的值或创建新的环境变量。” p>
因此,在您的情况下,您需要在nginx.conf中指定env PATH;
。