考虑以下代码:
<?php
$output=shell_exec('ls');
shell_exec('java -jar gimtadieniai2.jar');
echo $output;
?>
带有'ls'的行只是测试它是否有效,而且确实有效。
目标是使用“gimtadieniai2.jar”执行java。从终端手动执行时,它可以工作。请注意,jar文件从一个文件中选取信息并将其放入其他文件中。
我的问题是PHP代码不能正常工作。有什么想法吗?
答案 0 :(得分:1)
我不确定是否抛出任何错误。
如果一切正常,那么可执行文件Main
中的jar
类必须返回无输出并执行安全退出。如果不是这样,但返回一些输出,则使用echo shell_exec(....
并查看是否存在差异。
我认为classpath
可以使用java
的其他可能原因
jar
文件可能与php
文件位于同一文件夹中
但java
无法从jar
的同一路径加载php
您最好输入jar
文件的绝对文件路径。这可能会解决问题。
答案 1 :(得分:0)
路径怎么样? jar文件是否在php脚本的同一个文件夹中?如果是,请尝试shell_exec('java -jar ./gimtadieniai2.jar');