使用php exec()在Linux中运行Java文件(.class),返回空数组

使用php exec()在Linux中运行Java文件(.class),返回空数组,java,php,linux,exec,Java,Php,Linux,Exec,我可以使用命令行运行java文件: java HelloWorld 现在,我尝试使用exec在php脚本中运行HelloWorld.class文件。问题是,当我运行以下命令时: 它打印正确的结果,但当我尝试运行java文件时: 它只打印出数组 HelloWorld.java的内容是: public class HelloWorld{ public static void main(String []args){ System.out.println("Hello World!!!!"

我可以使用命令行运行java文件:

java HelloWorld

现在,我尝试使用exec在php脚本中运行HelloWorld.class文件。问题是,当我运行以下命令时:

它打印正确的结果,但当我尝试运行java文件时:

它只打印出数组

HelloWorld.java的内容是:

public class HelloWorld{

public static void main(String []args){
    System.out.println("Hello World!!!!");
 }
}
我已经使用命令行javac HelloWorld创建了HelloWorld.class文件

那我该怎么修呢

PS.我将命令更改为:

<?php exec("java HelloWorld 2>&1", $output);
   print_r($output); ?>

你想让php执行java程序并打印出Hello World!!!!或者只是打印出java HelloWorld打印出Hello World!!!尝试执行javac HelloWorld,然后执行javahelloworld,以便您编写的程序首先编译是的,我已经完成了这个步骤。我有HelloWorld.java,并且已经使用命令行javac HelloWorld创建了一个HelloWorld.class文件。你的意思是我应该添加execjavac HelloWorld;在php文件中,即使我已经有了.class文件?不,如果你已经有了编译版本的程序,我想不会,只要.class文件是最新的。
<?php exec("java -cp '/var/www/html/run' HelloWorld 2>&1", $output);
      print_r($output);?>