嗯,我有这个程序,我需要运行任何功能,但它位于我的dekstop(这个Ubuntu的11.04)。问题与执行()在PHP
我将它移动到/ home/Username,但没有骰子。
我跑
$blah = exec('sudo | echo mypassword | /home/server1/program commandhere', $test);
var_dump($test);
var_dump($blah); ?>
输出是什么。
我被告知如果我想通过sudo运行它,我需要将www-data的Apache用户添加到sudoers列表中,我添加了它,但没有再次运气。 基本上,我已经尝试了很多东西,它只是不会运行。为什么?
编辑: 如果我把它粘贴到终端,它工作得很好,只是不与exec,系统或passtrhu。
你为什么管道'sudo'到'echo'的输出? – 2011-05-30 01:24:31
因为当你做sudo程序时会要求你输入密码,所以在做sudo之前你不要输入密码。 – dikidera 2011-05-30 02:03:41
你调用'sudo'的方式确实不起作用。为了测试,试试这个:'sudo | echo mypassword |回声测试>/test.txt'。它会显示一个'Permission denied'错误。尽管如此,确保你最近没有使用'sudo',因为这会缓存你的凭证并且会改变测试结果。 – rid 2011-05-30 02:26:37