java - 无法使用php exec函数执行java程序

标签 java php exec

我正在尝试执行一个 java 程序来使用 php exec 函数对 pdf 文件进行签名,但不起作用:

exec('java -jar PROGRAM.jar -n -t ORIGIN.pdf -o DESTINY.pdf -s CERTIFICATE -p PASSWORD', $output, $return);

当我执行它时,$output 是一个空数组,$return 是一个 int(1),但是如果我运行:

java -jar PROGRAM.jar -n -t ORIGIN.pdf -o DESTINY.pdf -s CERTIFICATE -p PASSWORD

在命令行中它可以工作。谁能帮帮我?

谢谢。

最佳答案

@Treffynnon 是对的。从命令提示符和其他程序执行程序的区别在于环境变量和权限。

因此,首先检查在运行 PHP 的服务器上运行的用户是否有权运行应用程序和访问适当的文件。

然后验证路径

  1. Java
  2. 程序.jar
  3. 来源.pdf
  4. 命运.pdf

您可能应该修改路径,即最好使用相对或绝对表示法指定它。这是因为当前工作目录在两种情况下可能不同。

祝你好运。

关于java - 无法使用php exec函数执行java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9467704/

相关文章:

php - 检查页面是否被重定向或直接在 php 中打开

python - 重新定义在函数内不起作用的打印函数

php - 为什么不执行 ("top");在 Linux 上工作?

java - 从网络(Twitter)读取 JSON 数据

java - 如何使用 BouncyCaSTLe 获取根 CA 和最终实体之间的证书路径?

javascript - 如何在 Laravel 中限制与管理相关的 AngularJs Controller ?

c - Grep 永不返回

java - 如何在字符串数组中查找给定字符串的索引?

java - 在 Java 中转换对象

php - 如何从 Symfony4 路由器中删除 index.php?