我在嘗試獲取exec(「some javaPath/javac」,$ output,$ exit)的編譯錯誤。 我試過print_r($ output)和implode($ exit),但我注意到print_r給出了一個空錯誤,如果它編譯失敗並且implode只給出錯誤代碼。在PHP中獲取Java編譯錯誤
有沒有辦法讓編譯錯誤?例如,是否有可能得到哪一行有語法錯誤?
感謝
我在嘗試獲取exec(「some javaPath/javac」,$ output,$ exit)的編譯錯誤。 我試過print_r($ output)和implode($ exit),但我注意到print_r給出了一個空錯誤,如果它編譯失敗並且implode只給出錯誤代碼。在PHP中獲取Java編譯錯誤
有沒有辦法讓編譯錯誤?例如,是否有可能得到哪一行有語法錯誤?
感謝
如何顯示的$exit
價值?
編譯器可能將錯誤信息發送到錯誤流而不是標準輸出。這兩者到達終端/控制檯窗口中的相同位置,但程序讀取輸出不會看到錯誤,反之亦然。
您可能會嘗試exec('some javaPath/javac 2>&1', $output, $exit);
,看看是否會顯示更多信息。在Linux中,它應該。在Windows中,也許別人知道...
var_dump返回字符串(0)「」 它不會添加任何信息。 – user1709294
http://stackoverflow.com/questions/2320608/php-stderr-after-exec –