我使用以下命令在debian中设置了一个自定义环境变量:
$ export my_var=1我想使用php读取这个变量值。我试过:
echo getenv('my_var');如果我使用php命令从命令行调用php代码,这是可以的,但是当我使用apache访问php代码时,它不会回显任何内容。
为什么会这样呢?
发布于 2013-09-09 09:16:53
这是因为您的控制台有自己的上下文,有自己的环境变量,Apache有自己的环境变量。考虑this答案来设置apache中的环境变量。
发布于 2015-11-04 21:03:04
最近,我编写了一个库,用于从环境变量中获取值并解析为PHP数据类型。此库可用于将环境变量解析为PHP数据类型(如转换为整数、浮点数、空值、布尔值)、解析复杂的数据结构(如JSON字符串),以及更多的数据结构(包括通用统一的贡献)。
这个库可以在这里获得:https://github.com/jpcercal/environment
在重新启动Apache Server并将环境变量加载到操作系统后,将环境变量放入"/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"));尽情享受吧。
https://stackoverflow.com/questions/18694746
复制相似问题