php exec()和java发送参数

bw2*_*801 1 php java exec

我想通过php连接到java并在php中打印出结果.现在我想向java发送一个参数并将其返回给php以查看它是如何工作的.我怎样才能做到这一点?到目前为止我有这个代码:

PHP:

exec("java jar/name.jar", $output);
print_r($output);
Run Code Online (Sandbox Code Playgroud)

Java的:

public class Main {
    public static void main(String[] args) {
        System.out.print(args[0]);
    }
}
Run Code Online (Sandbox Code Playgroud)

结果是

Array ( )
Run Code Online (Sandbox Code Playgroud)

eis*_*eis 9

exec("/full/path/to/java -jar jar/name.jar 2>&1", $output);
print_r($output);
Run Code Online (Sandbox Code Playgroud)

因为

  • 您的PHP env可能没有在路径中定义的java可执行文件(它也不应该)
  • jar文件用.执行 java -jar
  • 你希望2>&1能够在输出中看到错误消息(从stderr重定向到stdout)

  • 第三点非常有用,没有它一些程序不输出任何东西,不知道为什么! (2认同)