$ _ENV变量为空

时间:2012-11-09 20:55:04

标签: php environment-variables

  

可能重复:
  Why is my $_ENV empty?

我正在尝试在我的脚本中使用$ _ENV,但它返回一个空数组。代码是:

print_r($_ENV);

以下是我的回复:

Array ( ) 

脚本在Linux服务器上运行(我有管理员权限,但我没有自己设置服务器)。无论我是以管理员身份还是普通用户身份登录,如果我从终端输入env,我会看到大约20个单独的项目,因此环境不是空的。

我过去使用$ _ENV没有任何问题(但已经有一段时间了)。我错过了什么?

解决方案:

对php.ini的修改没有办法解决问题。有效的是:

找到您的httpd配置文件或您的虚拟主机配置文件(在某些情况下,它们是同一个文件),并为每个环境变量添加以下内容(在VirtualHost部分内):

SetEnv MY_ENV_VAR_1 test1
SetEnv MY_ENV_VAR_2 test2

重启Apache。

在您的PHP脚本中,您使用:

getenv('MY_ENV_VAR1')

访问这些环境设置。 SetEnv将设置这些变量并将它们传递回Apache以供使用。如果要使用现有的shell环境变量,则应将以下内容添加到Apache配置文件或虚拟主机文件中:

PassEnv env_variable [env_variable]....

使其可用于Apache和您的脚本。

0 个答案:

没有答案