Риз Мур прав, что javac не имеет вывода в случае успеха, если вы хотите получить вывод из этого, попробуйте добавить '-verbose' к параметрам, то, что вы, вероятно, хотите сделать, это проверить успешность, используйтепараметр возвращаемого значения для этой цели.
Добавьте 2> & 1 к команде, чтобы получить поток ошибок в стандартный вывод (при условии, что bash является основной оболочкой).
<?php
exec("javac HelloWorld.java 2>&1", $output, $resultCode);
if ($resultCode) {
echo "Result: " . $resultCode . "\n";
echo implode("\n", $output);
}
?>