19

我有一些 Lua 代码,在我的 openresty nginx.conf 文件中使用。此 Lua 代码包含以下几行:

...
local secret = os.getenv("PATH")
assert(secret ~= nil, "Environment variable PATH not set")
...

只是出于测试原因,我尝试检查是否设置了 PATH 变量,并且由于某种原因,断言语句没有通过。我在控制台中看到:

未设置环境变量 PATH

但是,当我运行这个

$ echo $PATH

我明白了,这个变量确实有一些价值。那么,这有什么问题,我该如何解决?

4

1 回答 1

22

您需要告诉 nginx 使环境变量可用。来自指令的文档env:“默认情况下,nginx 会删除从其父进程继承的所有环境变量,但 TZ 变量除外。该指令允许保留一些继承的变量、更改它们的值或创建新的环境变量。”

因此,在您的情况下,您需要env PATH;在 nginx.conf 中指定。

于 2017-01-23T06:46:30.723 回答