使用php exec()在Linux中运行Java文件(.class),返回空数组
我可以使用命令行运行java文件: java HelloWorld 现在,我尝试使用exec在php脚本中运行HelloWorld.class文件。问题是,当我运行以下命令时: 它打印正确的结果,但当我尝试运行java文件时: 它只打印出数组 HelloWorld.java的内容是:使用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!!!!"
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);?>