如何为 PHP 设置全局环境变量
我已经阅读了这里的问题/答案,但我不明白如何在/etc/环境中设置变量。如果我编辑文件,我是否需要重新启动计算机或仅注销当前用户(或登录新用户?)。
我想设置一个全局变量来表示我的计算机上的网站处于“开发”或“测试”模式。我不想为每个项目设置这个(无论它是否使用PHP,Java / Tomcat,NodeJS等)。我知道(对于Apache)我可以通过以下方式设置环境变量:
- 直接从php with(这似乎没用,因为我想避免试图弄清楚文件在哪个服务器上的逻辑)
putenv()
- 使用.htaccess(这将要求我为每个服务器复制此文件/代码,不理想)
SetEnv ENVIRONMENT 'local'
- 使用虚拟主机指令(如果我使用的是虚拟主机,在几乎所有情况下我都是虚拟主机,但再次需要我一遍又一遍地复制/粘贴代码)
SetEnv ENVIRONMENT 'local'
- 在httpd-conf中(这仅适用于apache,我希望它也适用于NodeJS服务器)
SetEnv ENVIRONMENT 'local'
我并不是说我不能做#4(并有选择地将#3应用于NodeJS服务器)。但我认为这是使用 /etc/environment 的一个很好的理由。正如我上面所说,我已经编辑了文件(在首次创建它之后)并尝试了以下组合,但这些组合似乎都不起作用:
ENVIRONMENT='local'
ENVIRONMENT=local
export ENVIRONMENT='local'
export ENVIRONMENT=local
我说它们都不起作用,因为我没有在输出中找到变量:
print_r($_SERVER);
print_r($_ENV);
echo(getenv('ENVIRONMENT'));