如何使用 PHP 访问环境变量


how to Access to environment variable using php

我在 debian 中使用以下命令设置了一个自定义环境变量:

$ export my_var=1

我想使用 php 读取这个变量值。我试过:

echo getenv('my_var');
如果我使用 php

命令从命令行调用 php 代码,那没关系,但是当我使用 apache 访问 php 代码时,它不会回显任何内容。

为什么会这样?

之所以如此,是因为您的控制台有自己的上下文,有自己的环境变量,而 Apache 有自己的上下文。考虑这个答案来设置Apache中的环境变量。

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

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

在重新启动 Apache 服务器并将环境变量加载到操作系统后,将环境变量放入 "/etc/environment" 和 "/etc/apache2/envvars" 中:

# source /etc/environment
# source /etc/apache2/envvars

如果您使用 CLI 运行应用程序,则基本上导出变量:

export YOUR_ENV_VARIABLE_NAME="yourValue"

要从环境变量(独立于环境CLI,Apache,Nginx,PHP内置服务器等)获取值,请执行以下操作:

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

享受它。