我正在尝试使用php exec函数执行java程序来签署pdf文件,但是不起作用:
exec('java -jar PROGRAM.jar -n -t ORIGIN.pdf -o DESTINY.pdf -s CERTIFICATE -p PASSWORD', $output, $return);
Run Code Online (Sandbox Code Playgroud)
当我执行它时,$ output是一个空数组,$ return是一个int(1),但如果我运行:
java -jar PROGRAM.jar -n -t ORIGIN.pdf -o DESTINY.pdf -s CERTIFICATE -p PASSWORD
Run Code Online (Sandbox Code Playgroud)
在命令行中它可以工作.谁能帮我?
谢谢.
最后我可以解决这个问题。
解决办法是:
exec('java -Djava.awt.headless=true -jar PROGRAM.jar -n -t ORIGIN.pdf -o DESTINY.pdf -s CERTIFICATE -p PASSWORD', $output, $return);
Run Code Online (Sandbox Code Playgroud)
添加该-Djava.awt.headless=true选项是为了告诉 java 这是一个间接调用,因此它无法控制键盘、鼠标等。
| 归档时间: |
|
| 查看次数: |
6358 次 |
| 最近记录: |