5

我在 Windows 环境变量 -> 用户变量中定义了一个环境变量

$MY_VARIABLE=mypath

在php中我尝试像下面一样访问它

<?php
echo $_ENV["MY_VARIABLE"];

但它不打印任何东西。我在这里遗漏了什么还是 PHP 无法访问用户环境变量?

编辑:我将 PHP 作为 Apache 模块运行(我最初遗漏的重要信息)。

4

2 回答 2

6

由于PHP 中的 variables_order 设置,$_ENV是空的

编辑你的 PHP.INI

改变

  variables_order = "GPCS"

 variables_order = "EGPCS"

如果它不尝试使用.htaccess来实现这一点,它现在应该可以工作了

将以下内容添加到您的.htaccess

SetEnv foo bar

您可以通过 PHP 获取它

var_dump(getenv('foo'),$_ENV);
于 2012-10-06T14:14:44.423 回答
1

最近我写了一个库来从环境变量中获取值并解析为 PHP 数据类型。该库可用于将环境变量解析为 PHP 数据类型(如转换为整数、浮点数、空值、布尔值),解析 JSON 字符串等复杂数据结构,以及更多社区的贡献。

该库可在此处获得:https ://github.com/jpcercal/environment

并从环境变量中获取值来做到这一点:

<?php
// ...
require "vendor/autoload.php";
// ...
var_dump(Cekurte\Environment\Environment::get("MY_VARIABLE"));

好好享受。

于 2015-11-04T19:00:49.807 回答