我正在尝试执行一个 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 的服务器上运行的用户是否有权运行应用程序和访问适当的文件。
然后验证路径
- Java
- 程序.jar
- 来源.pdf
- 命运.pdf
您可能应该修改路径,即最好使用相对或绝对表示法指定它。这是因为当前工作目录在两种情况下可能不同。
祝你好运。
关于java - 无法使用php exec函数执行java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9467704/