0

我想使用 PHP 在 LINUX 中创建用户定义的环境变量。我使用 putenv() 尝试了它,但它只持续到当前请求。

我也尝试使用反引号来执行它。如 VARNAME="777";; export VARNAME;

但它没有显示打印 printenv 的变量和值。如何使用 php 创建环境变量。

如何执行
VARNAME="777"; 使用 PHP 导出 VARNAME?

4

1 回答 1

0

你可以试试exec("export VARNAME=777");

但...

我不相信在与 apache 的请求之间存在持久环境之类的东西。为特定命令设置环境可能需要做的一件事是在 apache 可访问的某个地方设置一个文本文件,并用您的环境变量填充它,每行一个

VARNAME=777
MY_VAR=COOL

然后创建一个这样的函数运行环境

function runWithEnvironment($cmd, $envronmentFile, &$output){
    $env = file ($environmentFile, FILE_IGNORE_NEW_LINES);
    foreach($env as $line){
        putenv($line);
    }
    $ret=null;
    exec($cmd, $output, $ret);
    return $ret;
}

这应该抽象出在执行命令之前设置环境。

于 2013-06-06T06:25:28.187 回答