我想在我的PHP应用程序中使用CLI和FPM环境variables。 我做的是我:
/etc/environment导出一些variables。 php.ini (CLI和FPM)到variables_order = "EGPCS" 。 www.conf clear_env = no 我期望的是在CLI和FPM应用程序中都可以使用环境variables。 实际上,这只适用于CLI。 FPM的$_ENV不包含这些环境variables。
我注意到可以在www.conf定义环境variables,但这样做www.conf方便,因为我必须复制粘贴/etc/environment所有variables,并始终保持两个文件同步。
问题是:是否可以将所有环境variables直接传递给PHP-FPM应用程序,而无需在www.conf粘贴它们?
从文档 :
默认情况下,除了TZvariables,nginx会删除从父进程inheritance的所有环境variables。
正如你所提到的,你已经尝试在fastcgiconfiguration中设置它们,我认为在这种情况下你可以做的最好。 为了他人的利益,这样做是这样的:
location ~ \.php$ { # ... fastcgi_param APPLICATION_ENV "production"; fastcgi_param MY_OTHER_ENV "things"; include fastcgi_params; # ... }
我理解厌恶“复制粘贴”,并同意! 你应该看看使用诸如Puppet,SaltStack,Ansible之类的configurationpipe理工具来pipe理你的configuration文件。 这样,您可以轻松地在所有必需的位置之间同步环境variables列表。 让我知道如果你需要更多的信息。