我需要從PHP腳本我的臺式機(本地主機)執行kdiff3命令(使用瀏覽器,而不是命令行)。我已經給權限正在執行的腳本來執行kdiff3使用visudo命令用戶www數據。事實上,如果我的身份登錄www數據我可以毫無問題執行它(須藤kdiff3 ...,它的配置爲不輸入密碼要求的話)。如何執行PHP的交互式命令?
問題是當我嘗試從PHP腳本執行此命令。我試過這個:
$output = shell_exec("sudo kdiff3 -m $file.def.old $file $file.def -o $file");
並沒有任何反應(輸出爲NULL)。如果我嘗試一個非交互式命令,就像LS它的工作原理:
$output = shell_exec("ls");
發生了什麼事?爲什麼不能執行交互式命令?
可能是我不應該說「我需要在我的本地主機中執行kdiff3命令」。更好:「我需要在我的桌面機器上執行kdiff3命令」:) – Ivan 2012-01-27 18:14:35
只需將DISPLAY =:0.0添加到/ etc/environment中即可使其正常工作。謝謝! – Ivan 2012-01-27 18:56:14