无法在php中访问用户定义的环境变量

时间:2014-07-09 01:59:41

标签: php environment-variables system-variable

我在windows中定义了自己的环境变量来保存文件夹路径。

示例:

IMG = C:\ xampp \ htdocs \ img

我试图以下列方式在php中获取IMG变量的值

var_dump(getenv('MLINK_IMAGES'))

但它只是转储bool(false)。但我能够访问预定义的环境变量

var_dump(getenv('Path'))

它给了我适当的价值。

所以它需要php.ini中的任何配置或我错误地访问它。

2 个答案:

答案 0 :(得分:1)

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

图书馆可在此处找到:https://github.com/jpcercal/environment

如果您正在使用Web服务器(重新启动Apache服务器或PHP内置服务器或Nginx),请设置您的环境变量,否则如果您正在运行cli应用程序关闭并重新打开终端程序以加载新的环境变量到操作系统。

要使用PHP从环境变量中获取值,请使用我的库(独立于环境CLI,Apache,Nginx,PHP内置服务器等)来执行此操作:

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

享受它。

答案 1 :(得分:0)

问题的措辞方式,你正在使用Windows环境变量。 Windows和Web服务器的环境变量不一样。

如上例所示,在PHP中存储环境变量:

putenv("IMG=C:\\xampp\\htdocs\\img");

在调试时查看所有环境变量的列表:

echo phpinfo();

最后,不要覆盖路径变量供自己使用。它由Web服务器使用。