我在Windows环境变量中定义了一个环境变量 - >用户变量
$MY_VARIABLE=mypath
在php中我试图像下面那样访问它
<?php
echo $_ENV["MY_VARIABLE"];
但它不会打印任何内容。我在这里遗漏了什么,或者PHP无法访问用户环境变量?
编辑:我正在运行PHP作为Apache模块(我最初遗漏的重要信息)。
答案 0 :(得分:5)
由于variables_order settings in PHP
,您$_ENV
为空
编辑您的PHP.INI
更改
variables_order = "GPCS"
要
variables_order = "EGPCS"
如果它没有尝试使用.htaccess
来实现这个
将以下内容添加到.htaccess
SetEnv foo bar
你可以通过PHP获得它
var_dump(getenv('foo'),$_ENV);
答案 1 :(得分:1)
最近我写了一个库来从环境变量中获取值并解析为PHP数据类型。该库可用于将环境变量解析为PHP数据类型(如转换为整数,浮点数,空值,布尔值),使用社区的贡献解析复杂的数据结构,如JSON字符串等。
图书馆可在此处找到:https://github.com/jpcercal/environment
要从环境变量中获取值,请执行以下操作:
<?php
// ...
require "vendor/autoload.php";
// ...
var_dump(Cekurte\Environment\Environment::get("MY_VARIABLE"));
享受它。