嗯,我有這個程序,我需要運行任何功能,但它位於我的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