考虑下面的代码:
<?php
$output=shell_exec('ls');
shell_exec('java -jar gimtadieniai2.jar');
echo $output;
?>带有“ls”的代码行只是测试它是否工作,它确实工作了。
目标是使用"gimtadieniai2.jar“来执行java。当从终端手动执行时,它可以正常工作。请注意,jar文件从一个文件中提取信息并将其放入其他文件中。
我的问题是PHP代码无法工作。你知道为什么吗?
发布于 2015-05-02 01:38:04
我不确定是否没有抛出错误。
如果一切正常,那么可执行文件jar中的Main类肯定不会返回任何输出,并进行安全退出。如果不是这样,但返回了一些输出,那么使用echo shell_exec(....,看看是否有什么不同。
我认为另一个可能的原因是classpath可用于java。
jar文件可能与php文件在同一文件夹中。
但是java不能从php的相同路径加载jar。
您最好输入jar文件的绝对文件路径。这可能会解决问题。
发布于 2015-04-30 18:38:49
那路径呢?jar文件是否与php脚本在同一文件夹中?如果是这样的话,试试shell_exec('java -jar ./gimtadieniai2.jar');
https://stackoverflow.com/questions/29965444
复制相似问题