如何为PHP设置全局环境变量?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (117)

我不知道如何在/ETC/environment.中设置变量?

如果编辑该文件,是否需要重新启动计算机,还是只需注销当前用户(或登录新用户?)

我想设置一个全局变量,以表示我的机器上的网站处于“开发”或“测试”模式。我不想为每个项目(无论它是否使用PHP、Java/Tomcat、NodeJS等)设置这个选项。

正如我前面所说的,我已经编辑了文件(在第一次创建它之后),并尝试了以下组合,但似乎没有一种组合有效:

ENVIRONMENT='local'
ENVIRONMENT=local
export ENVIRONMENT='local'
export ENVIRONMENT=local

我说它们都没有工作,因为我没有在输出中找到变量:

print_r($_SERVER);
print_r($_ENV);
echo(getenv('ENVIRONMENT'));
提问于
用户回答回答于

在文件中添加一个常量,以便您可以更改。尝试在服务器级别上设置一些东西要容易得多。

define('ENVIRONMENT', 'testing');
if(ENVIRONMENT == 'testing') {
   echo 'We\'re just testing';
}
用户回答回答于

您要做的是使用Apache配置文件。您将需要访问配置文件夹和httpd.conf文件(或修改版本)。然后,可以配置httpd.conf,以便使用此方法动态加载配置文件。

Include conf.d/*.conf

在大厅里。D文件夹放置特定的环境配置文件。

服务器-环境-dev.conf示例:

SetEnv ENVIRONMENT "local"

服务器-环境-prod.conf示例:

SetEnv ENVIRONMENT "production"

这些设置将作为可用的环境变量显示在php代码中。此方法允许您保留vhost文件。htaccess,以及您的其他配置文件,这些配置文件与环境无关。

扫码关注云+社区

领取腾讯云代金券