2013-04-20 148 views
0

我有一個java文件,它會生成iTunes的報告。我想在我的php腳本中執行此操作。我在php中使用exec()函數:它在linux中正常工作。但不是在windows.Am我缺少任何東西嗎?任何幫助將不勝感激。exec命令不能在php腳本中工作

exec("java Autoingestion ".'USERNAME'." '".'PASSWORD'."' ".'VENDORID'." ".'REPORT_TYPE'." ".'DATE_TYPE'." ".'REPORT_SUB_TYPE'." ".'2012-05-28'."",$output,$return); 
+0

您可以嘗試使用'shell_exec'命令嗎?還讓我們知道你是否在'$ output'中獲得任何東西? – Rikesh 2013-04-20 08:48:22

+0

字符串連接看起來有點不合適。嘗試在將它拋入'exec'之前'echo'它,並確保它按照您的想法執行。 – 2013-04-20 08:52:55

+0

你正在逃避另一個字符串,這是什麼意思?你是否使用常量佔位符或變量作爲佔位符? – 2013-04-20 09:11:25

回答

0

我建議你檢查腳本輸出(在stdout和stderr上)。

還請檢查運行腳本所需的環境變量。

1

檢查字符串連接的結果。它看起來有點如下:

"java Autoingestion USERNAME 'PASSWORD' VENDORID REPORT_TYPE DATE_TYPE REPORT_SUB_TYPE 2012-05-28" 

你沒有使用任何變量或其他任何東西,所以沒有理由連接的東西。

即使大寫部分是佔位符,也不必連接。只需使用可變內插:

$username = 'USERNAME'; 
$password = 'PASSWORD'; 
$exec = "java Autoingestion '{$username}', '{$password}', ..."; 
exec($exec); 
相關問題