我在 Windows 中定义了自己的环境变量来保存文件夹路径。
例子:
IMG = C:\xampp\htdocs\img
我正在尝试通过以下方式在 php 中获取 IMG 变量的值
var_dump(getenv('MLINK_IMAGES'))
但它只是转储 bool(false)。但我能够访问预定义的环境变量
var_dump(getenv('Path'))
它给了我适当的价值。
它是否需要在 php.ini 中进行任何配置,或者我以错误的方式访问它。
我在 Windows 中定义了自己的环境变量来保存文件夹路径。
例子:
IMG = C:\xampp\htdocs\img
我正在尝试通过以下方式在 php 中获取 IMG 变量的值
var_dump(getenv('MLINK_IMAGES'))
但它只是转储 bool(false)。但我能够访问预定义的环境变量
var_dump(getenv('Path'))
它给了我适当的价值。
它是否需要在 php.ini 中进行任何配置,或者我以错误的方式访问它。
最近我写了一个库来从环境变量中获取值并解析为 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"));
好好享受。
问题的措辞方式是,您使用的是 Windows 环境变量。Windows 和 web 服务器的环境变量是不一样的。
如上例所示,在 PHP 中存储环境变量:
putenv("IMG=C:\\xampp\\htdocs\\img");
要在调试时查看所有环境变量的列表:
echo phpinfo();
最后,不要为自己的使用覆盖路径变量。它由 Web 服务器使用。