我想在不使用标准输出的情况下将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
答案 0 :(得分:1)
您希望了解使用putenv
。
http://php.net/manual/en/function.putenv.php
如果您在不同的范围内运行此操作(例如,让PHP脚本死掉,然后运行BASH脚本),请尝试以下操作将myvar
指定为文件的输出:
$ myvar=$(php -f example.php)
答案 1 :(得分:0)
putenv("A=0");
应该按预期工作:)
答案 2 :(得分:0)
exec("export A=".$_SERVER['A'].)