2012-02-17 131 views
0

我有一個加姆斯application,我想通過PHP代碼 終於嘗試我發現,在條命令行中運行我應該去C:\Program Files\GAMS23.7很多事情後,運行它在命令行中運行一個命令運行應用程序如下:從應用程序運行exe可執行文件與系統

gams.exe trnsport_php.gms 

的加姆斯西港島線成功在命令行中運行,現在,我想在PHP中運行它,我增加了一個別名,這個路徑

C:\ Program Files文件\ GAMS23。 7

,然後我創造了我的PHP文件中有 時,我想用這個代碼在PHP中exacute它:

if(system('gams.exe trnsport_php.gms')) 
echo 'Not Error'; 
else echo'Error'; 

它讓我錯誤

,並再次使用這一個:

if(system('./gams.exe trnsport_php.gms')) 
echo 'Not Error'; 
else echo'Error'; 

再次印刷錯誤

我也嘗試過exec,但沒有結果,我不知道這裏出了什麼問題。 這其中也不起作用:

if(system ("\"C:\\Program Files\\GAMS23.7\\gams.exe \"C:\\Program Files\\GAMS23.7\\trnsport_php.gms")) 
echo'success'; 
else 
echo 'no'; 

回答

1

我發現我不知道爲什麼,但我應該去命令行和簡單地調用GAMS

echo exec('C:\WINDOWS\system32\cmd.exe'); 
echo exec('gams.exe trnsport_php.gms'); 
0

systemexec命令返回false從成功執行的命令的結果失敗,最後一行。爲了successfuly測試指令運行,你必須使用這樣的:

if (system('./gams.exe trnsport_php.gms') === FALSE) 
    echo 'error'; 
else 
    echo 'success'; 

如果你不使用=== FALSE,你會看到「錯誤」也是,如果沒有產生輸出。

也許嘗試使用passthru來查看執行命令的原始輸出。

+0

謝謝它讓我成功,但它並沒有因爲運行時的工作問題,應該使一個文本文件,但它沒有成功!所以它不執行: - ? – Nickool 2012-02-17 11:06:10

+0

passthru show nothing nothing – Nickool 2012-02-17 11:13:05

+0

== or ===?!!!!! – Nickool 2012-02-17 11:16:33

相關問題