如何在PHP shell_exec中设置命令行环境变量

如何在PHP shell_exec中设置命令行环境变量,php,command-line,Php,Command Line,我试图在PHP中通过shell_exec运行的脚本需要设置一个环境变量,afaik通过以下方式完成: export VARIABLE=value 但是,要运行脚本,我必须执行以下操作: <?PHP $sOutput = shell_exec("export VARIABLE=value && my_command_goeth_hereth"); 由于环境变量是继承的,因此在脚本中设置它们也会为它启动的命令设置它们。你只需要使用 不会只是: <?PHP shell_

我试图在PHP中通过shell_exec运行的脚本需要设置一个环境变量,afaik通过以下方式完成:

export VARIABLE=value
但是,要运行脚本,我必须执行以下操作:

<?PHP
$sOutput = shell_exec("export VARIABLE=value && my_command_goeth_hereth");

由于环境变量是继承的,因此在脚本中设置它们也会为它启动的命令设置它们。你只需要使用

不会只是:

<?PHP
shell_exec('SOMEVAR=SOMEVAL /some/program');

为什么这与我上面所做的有什么不同?i、 e.
export VARIABLE=value&&command
。但是,如果只想将环境应用于单个脚本/程序,则不需要导出。不止一个,使用putenv()可能会更好
<?PHP
shell_exec('SOMEVAR=SOMEVAL /some/program');
<?PHP
echo $_ENV['FOO'];
echo "\n";
<?PHP
echo shell_exec('FOO=bar php env.php');