1

我尝试从这样的 php 文件运行 jar:

exec("java -jar /home/florinbuda/NetBeansProjects/monkey1/dist/monkey1.jar", $result);          
print_r($result);

如果我从命令行运行它,它就可以工作,例如:

$ php runner.php

但是如果我尝试通过 http-localhost-server/runner.php 加载它,它就不起作用了,页面只会一直加载而不会给出任何错误..

在 .jar 文件中,如果 jar 甚至开始工作,我现在添加了一个简单的测试

public static void main(String[] args) {
    new File("/home/florinbuda/Desktop/xxx").mkdir();

正如你可以猜到的 - 当我调用 http-localhost-server/runner.php 时,jar 甚至没有开始执行......

是权利问题?你有什么建议?

4

2 回答 2

4

是的,这是权限的问题。

您应该 chmod .jar 文件的父文件夹。

chmod 755 -R /home/florinbuda/NetBeansProjects/monkey1/dist/

编辑:然后你的脚本应该是这样的:

exec("PATH_TO/java -jar /home/florinbuda/NetBeansProjects/monkey1/dist/monkey1.jar");
于 2012-11-14T03:09:46.350 回答
0

bash 中的环境变量与 exec() 中的环境变量不同。至少使用 java bin 的完整路径。您也可以尝试运行 /path/to/java 以查看正常输出是否正常。

于 2012-11-14T03:43:22.750 回答