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

の使用を検討したいと考えていますputenvhttp://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 に答える