2014-01-17 51 views
0

我正嘗試從php站點調用單聲道。作爲一個簡單的例子來看看它是如何實現的,我有一個簡單的C#控制檯應用程序,它只寫了「Hello World」。在我的PHP端點,我這樣做:從php web服務調用單聲道命令

$command = "/opt/mono-3.2.1/bin/mono /opt/test/HelloWorld.exe"; 
    shell_exec($command); 

我也試過exec($命令)。當我點擊這個端點時,我看不到任何東西印在控制檯上。這是我認爲應該發生的,但不知道,因爲我從來沒有做過這樣的事情,或曾經使用過單聲道。我知道如果我去終端,並做

mono HelloWorld.exe 

然後我在終端窗口中得到「Hello World」。但是從Web服務中,我不會引發錯誤,但我沒有看到任何地方發佈或打印的任何內容。

我是否正確調用單聲道?終端窗口應該打開並打印「Hello World」?提前致謝。

+0

你打開PHP的錯誤報告和錯誤顯示? – knittl

+0

@knittl沒有,我該怎麼做? – Crystal

+0

'error_reporting(〜0);'在您的腳本中,''php.ini'文件中的'display_errors On' – knittl

回答

0

您是否明確顯示命令的輸出?你有沒有嘗試這樣的:

$command = "/opt/mono-3.2.1/bin/mono /opt/test/HelloWorld.exe"; 
$output = shell_exec($command); 
echo $output; 

你嘗試所有的輸出從單聲道重定向:

$command = "/opt/mono-3.2.1/bin/mono /opt/test/HelloWorld.exe 2>&1"

是否運行PHP的權限,遍歷並打開您的單應用程序路徑的用戶帳戶(包括/opt/mono-3.2.1/bin/mono/opt/test/HelloWorld.exe)?

不,在您的PHP腳本中執行單聲道時不應打開終端窗口。