私はphp exec関数でpdfファイルに署名するJavaプログラムを実行しようとしていますが、動作しません。
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
コマンドラインで動作します。誰か助けてもらえますか?
ありがとうございました。
最後に問題を解決することができました。
解決策は次のとおりです。
exec('java -Djava.awt.headless=true -jar PROGRAM.jar -n -t ORIGIN.pdf -o DESTINY.pdf -s CERTIFICATE -p PASSWORD', $output, $return);
-Djava.awt.headless=true
キーボード、マウスなどを制御しないように、間接呼び出しであることをJavaに伝えるオプションを追加します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加