如何从PHP中的JAR捕获返回值并显示它

我有以下JAVA程序已被转换为JAR文件并放在与我的PHP文件相同的目录中。 所以基本上它需要通过PHP传递参数,并显示如何从PHP中的JAR捕获返回值并显示它

public class Test { 

public static void main(String[] args) throws Exception {

//Takes the value passed from the PHP

String Name = (new String(args[0])).toString();

//This will be treated as Output Parameter which will be returned to PHP

System.out.println("Return to PHP");

}

}

下面是我的PHP代码将执行JAR文件和所需的1个参数传递给JAR。

<?php 

$arg1 = "My_INPUT_PARAMETER";

shell_exec("java -jar TEST.jar $arg1");

echo "Done";

?>

我在某处读到Sysout(System.out.println)中放置的任何内容都将被视为输出参数或PHP返回值。 所以在我的情况下,它将是字符串“返回到PHP”。

但我无法获得PHP的价值并显示它。

我试着在exec语句中放置一个输出值,但它不起作用。 我尝试了下面的代码,但它抛出我的错误。

<?php 

$arg1 = "My_INPUT_PARAMETER";

$output = '';

shell_exec("java -jar TEST.jar $arg1", $output);

echo "Done";

echo $output;

?>

谁能帮助我在这里,我怎样才能从PHP得到PHP或输出参数返回值,并显示它或我的PHP中使用它,并继续与其他执行部分。

回答:

谢谢@Roland Starke。

所以基本上我们可以用2条语句从PHP运行JAR文件: EXEC和SHELL_EXEC。

EXEC将保存来自JAR文件的所有返回值,我们可以使用它作为数组并显示所需的输出参数。

SHELL_EXEC将保存所有的输出参数,它将一次显示全部。

<?php 

$arg1 = "Multi Return";

exec("java -jar TEST.jar $arg1",$output);

echo $output[0]."<br/>";

echo $output[1];

echo "-------------------------------";

$shell_out = shell_exec("java -jar TEST.jar $arg1");

echo $shell_out;

?>

以上是 如何从PHP中的JAR捕获返回值并显示它 的全部内容, 来源链接: utcz.com/qa/259880.html

回到顶部