PHP exec()jar Java文件未返回任何输出

时间:2018-08-03 11:25:11

标签: java php jar exec

我有一个jar文件,可以将Crystal Report转换为PDF,我已经在控制台上运行了它,并且成功了。

当我在控制台上运行它时。

D:\report>java -jar PrintResumePDF.jar
The PDF is created!!.

但是当我尝试用exec在PHP中运行时,它在输出中没有给出任何结果。即使已创建PDF文件或成功完成了转换过程。

这是我的PHP代码:

<?php 
   exec("java -jar PrintResumePDF.jar 2>&1", $return);
   print_r($return);
?>

java / jar的输出:已创建PDF!不在PHP上打印,它只是空白页。对不起,我的英语不好,请帮帮我。

1 个答案:

答案 0 :(得分:2)

希望这对您是一个有用的答案,但是我无法在PHP7.2上使用任何会产生输出的任意命令来复制此代码,因此您的PHP代码至少很可能是正确的。

例如此代码:

<?php
// Stderr
exec("curl --aaa 2>&1", $return1);
print_r($return1);
// Stdout
exec("echo hello", $return2);
print_r($return2);

输出以下内容:

$ php foo.php 

Array
(
    [0] => curl: option --aaa: is unknown
    [1] => curl: try 'curl --help' or 'curl --manual' for more information
)
Array
(
    [0] => hello
)

我只能建议检查任何相关日志和/或将输出重定向到临时文件,因为如果命令正确执行,则很明显它要么不在此执行环境中打印任何内容,要么将输出放置到其他位置