从PHP调用jar

时间:2010-09-06 18:21:02

标签: java php permissions jar

我有一个我创建的jar文件可以生成PDF文件。我从命令行这样调用它 -

java -jar project.jar 'Author, An---A Title'

这样可以正常工作但是当我使用以下代码从PHP文件调用相同的jar文件时,它会创建一个具有正确名称的文件,但它是空的并且具有零字节。

<?php
    echo exec("java -jar project.jar 'Author, An---A Title'");
?>

我确定这不是jar的问题(因为它可以从命令行运行)而且我几乎可以肯定它不是来自PHP文件(因为它创建了空文件,因此它必须已被读取) ,所以我认为问题可能与目录的权限?我正在使用linux,PHP正在运行在OPT目录中的XAMMP。有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我不确定您是否可以控制Java源代码,但至少症状表明它没有在相关文件的close()OutputStream上调用Writer


更新:尝试shell_exec(),看看结果是什么。可能它中途抛出了一些异常,这些异常写入你完全错过的stderr 在PHP代码中。 exec()仅捕获stdout

$result = shell_exec("java -jar project.jar 'Author, An---A Title'");
if ($result) {
    echo nl2br($result);
} else {
    echo "shell_exec() failed";
}