0

我想在不使用标准输出的情况下将 PHP 中的变量提供给 bash。我的问题可以简化为以下问题:

如何使这段代码工作?

export A=1;
php -r "echo 'variable A equals: '.\$_SERVER['A'].\"\n\";"
php -r "\$_SERVER['A']=0;"
echo $A

编辑:

以下代码不起作用:

export A=1;
php -r "echo 'variable A equals: '.\$_SERVER['A'].\"\n\";"
php -r "putenv(\"A=0\");"
// Same problem with:
// php -r "exec(\"export A=0\");"
echo $A
4

3 回答 3

1

您想研究使用putenv. http://php.net/manual/en/function.putenv.php

如果您在不同的范围内运行它(例如,让 PHP 脚本终止,然后运行 ​​BASH 脚本),请尝试以下操作以指定myvar为文件的输出:

$ myvar=$(php -f example.php)  
于 2013-04-24T17:35:15.380 回答
0
putenv("A=0");

应该可以按预期工作:)

于 2013-04-24T17:35:52.477 回答
0

这个怎么样?exec("export A=".$_SERVER['A'].)

于 2013-04-24T17:37:10.060 回答