我很难从返回到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脚本。
谁能告诉我哪里错了?
欢呼。
对不起,没关系,我现在算出来了。我需要将2>&1
附加到命令