如何设置命令行环境变量在PHP了shell_exec
问题描述:
我试图通过在PHP了shell_exec来运行该脚本需要设置环境变量,据我所知是通过做:如何设置命令行环境变量在PHP了shell_exec
export VARIABLE=value
然而,要运行脚本我不得不做的事:
<?PHP
$sOutput = shell_exec("export VARIABLE=value && my_command_goeth_hereth");
它接缝有点无意义不得不每次运行任何命令时导出变量。
这是做到这一点的唯一方法,还是我错过了一个更简单的方法?
答
将不只是:
<?PHP
shell_exec('SOMEVAR=SOMEVAL /some/program');
做的伎俩?
如zneak指出的,如果您运行多个shell脚本,那么putenv是您的朋友。
EDIT与〔实施例:
env.php:
<?PHP
echo $_ENV['FOO'];
echo "\n";
runenv.php:
<?PHP
echo shell_exec('FOO=bar php env.php');
然后尝试 $ php runenv.php
为什么这是任何不同我在上面做什么? 即'export VARIABLE = value && command' – 2010-08-26 03:22:40
它几乎是一回事。但是如果您只想将环境应用于单个脚本/程序,则不需要导出。不止一个,你可能更好用putenv() – timdev 2010-08-26 03:34:22