因此,我需要检查使用PHP:编译和运行的Java程序的输出
$output = shell_exec('cd write && javac JavaCode.java && java JavaCode');
如果javac命令失败,则不会向$output字符串写入任何内容。那么,我该如何使用PHP执行这些操作和检查呢?
如果出现错误,应该会返回NULL
。
来自文档:
执行的命令的输出或NULL(如果发生错误)该命令不产生输出。
试试var_dump($output)
,看看它会返回什么
在末尾追加&& echo 'message'
。由于它是一个和,如果任何命令在中失败,您将不会收到消息
所以
$output = shell_exec('cd write && javac JavaCode.java && java JavaCode && echo ''success''');
exec
可以给您返回值:
exec('cd write && javac JavaCode.java', $output, $returnValue);
if ($returnValue == 0) {
echo 'success';
} else {
echo 'compilation failed';
}