考虑这段代码:
<?php
$output=shell_exec('ls');
shell_exec('java -jar gimtadieniai2.jar');
echo $output;
?>
带有“ls”的行只是测试它是否有效,它确实有效。
目标是使用“gimtadieniai2.jar”执行 java。当从终端手动执行时,它可以工作。请注意,jar 文件从一个文件中提取信息并将其放入另一个文件中。
我的问题是 PHP 代码不工作。有什么想法吗?
最佳答案
我不确定是否没有抛出错误。
如果一切顺利,则可执行文件 jar
中的 Main
类一定不会返回任何输出并安全退出。如果不是这样,但返回了一些输出,则使用 echo shell_exec(....
并查看是否有任何差异。
我认为其他可能的原因是 classpath
可用于 java
。
jar
文件可能与 php
文件位于同一文件夹中。
但是 java
无法从 php
的同一路径加载 jar
。
您最好输入 jar
文件的绝对文件路径。这可能会解决问题。
关于java - PHP 在 Ubuntu 上运行 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29965444/