我无法从返回PHP脚本的shell命令获取完整输出。
如果我在终端中运行此命令:
cd /home/moodledata; sh gam-create.sh "12345" "Test" "Mc Person"
然后我在终端中输出以下内容:
Creating account for 654321@ourdomain.ac.uk
Error 409: Entity already exists. - duplicate
但是,如果我通过PHP脚本运行它:
<?php
$u = "Test";
$s = "Mc Person";
$u = "654321";
exec("cd /home/moodledata; sh gam-create.sh \"$u\" \"$f\" \"$s\"", $retval);
var_dump($retval);
我只为返回的输出获得以下内容:
array(1){
[0] => string(49) "Creating account for 654321@ourdomain.ac.uk"
}
我没有收到错误消息。
我已经玩过使用不同的函数,比如shell_exec()passthru()和system(),但看不到要将这个完整的输出返回给PHP脚本。
有人可以告诉我哪里出错吗?
干杯。
答案 0 :(得分:1)
对不起,没关系,我现在就把它搞定了。我需要将2>&1
附加到命令