2017-01-23 59 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