我正在尝试获取exec的编译错误(“some javaPath / javac”,$ output,$ exit)。 我尝试了print_r($ output)和implode($ exit),但是我注意到如果编译失败,print_r会给出一个空错误,而implode只会给出错误代码。
有没有办法解决编译错误?例如,是否可以获得哪一行有语法错误?
由于
答案 0 :(得分:0)
如何显示$exit
的价值?
答案 1 :(得分:0)
编译器可能会将错误信息发送到错误流而不是标准输出。两者在终端/控制台窗口中转到同一个位置,但程序读取输出不会看到错误,反之亦然。
您可以尝试exec('some javaPath/javac 2>&1', $output, $exit);
,看看是否会显示更多信息。在Linux中,它应该。在Windows中,也许其他人都知道......