PHP使用exec()执行linux命令

时间:2013-11-07 11:12:46

标签: php exec

所以,我在我的ubuntu服务器上,想要执行以下命令:

su -c /path/to/command -s /bin/bash -l otheruser

当我在linux命令行中输入此命令时,它会完全询问其他用户的密码并执行命令。

然而,当我这样做时

exec("su -c /path/to/command -s /bin/bash -l otheruser");

它没有做任何事情。我当然没有为它指定密码,但它并没有真正返回任何可以帮助我解决这个问题的东西。我已将该命令的权限设置为777以进行测试。

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

试试这个:

<?php

$ret = exec("su -c /path/to/command -s /bin/bash -l otheruser", $out, $err);

var_dump($ret);
var_dump($out);
var_dump($err);

?>

更多信息:http://us3.php.net/manual/en/function.exec.php

另外,如果您希望exec命令向您询问其他用户的密码(就像在linux命令行中那样) - 它将无法正常工作,exec命令不是交互式的。您需要在内联命令上传递密码。