2017-01-23 60 views
3

我有一些Lua代码,我在我的openresty nginx.conf文件中使用它。这Lua代码包含了这样的诗句:无法在Lua代码中使用环境变量

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

只是用于测试的原因,我想检查是否PATH变量设置和由于某些原因,断言语句不通。我在控制台中看到:

环境变量PATH未设置

然而,当我运行这个

$ echo $PATH 

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

回答

6

您需要告诉nginx使环境变量可用。从docs for the env directive开始:“默认情况下,nginx会除去TZ变量之外的所有从其父进程继承的环境变量,该指令允许保留一些继承变量,更改它们的值或创建新的环境变量。”

所以,你需要在nginx.conf中指定env PATH;

+0

这是对的!谢谢你,先生! – Jacobian

+0

@Jacobian,如果它适合你,你可能想接受答案。 –

+0

是的,当然!谢谢你,先生! – Jacobian