如何从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