Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP执行javajar文件_Java_Php_Exec - Fatal编程技术网

从PHP执行javajar文件

从PHP执行javajar文件,java,php,exec,Java,Php,Exec,不要对我唠叨,因为我在寻找答案时,当然已经找到了关于这个话题的多条线索。然而,我的问题似乎有所不同,因为我根本没有得到exec()调用的任何响应。以下是一些信息: 我在MacOS上运行Apache2.2.22上的PHP5.4.7,并尝试从Java1.6.035运行jar文件 我可以执行简单的命令,如“ls-l”、“which java”或“pwd”,但任何调用java-even“/usr/bin/java-version”的尝试都会失败,没有任何响应;PHP脚本在exec()调用后停止丢弃任何

不要对我唠叨,因为我在寻找答案时,当然已经找到了关于这个话题的多条线索。然而,我的问题似乎有所不同,因为我根本没有得到exec()调用的任何响应。以下是一些信息:

  • 我在MacOS上运行Apache2.2.22上的PHP5.4.7,并尝试从Java1.6.035运行jar文件
  • 我可以执行简单的命令,如“ls-l”、“which java”或“pwd”,但任何调用java-even“/usr/bin/java-version”的尝试都会失败,没有任何响应;PHP脚本在exec()调用后停止丢弃任何其他命令
  • 我没有从脚本本身或任何错误日志中获得任何输出
  • 我尝试过exec,shell_exec,系统,但没有成功
  • 我确保java调用的每一部分,包括二进制文件、jar文件等,都是存在的,可以通过绝对路径访问;当然,命令在命令行上运行没有任何问题
  • 调用本身看起来像这样“/usr/bin/java-Djava.awt.headless=true-jar/Users/twolff/Projects//bin/java/net.adternity.utils.xml2xls/dist/net.adternity.utils.xml2xls.jar--input=“/private/tmp/report_rUEsDe.xml”-output=“/private/tmp/report_7o1lFb.xls”
  • 我检查了PHP配置,但没有发现任何错误(例如禁用函数、安全模式等)
  • 我没有运行带有DYLIB环境变量问题的MAMP
我现在迷路了,在哪里继续我的调查,如果有人能帮助我,我会很高兴。以下是我在测试脚本中运行的代码:

try {
  $output = "";
  $return_val = 0;
  echo exec('/usr/bin/java -Djava.awt.headless=true -jar /Users/twolff/Projects/<project_name>/bin/java/net.adternity.utils.xml2xls/dist/net.adternity.utils.xml2xls.jar --input="/private/tmp/report_rUEsDe.xml" --output="/private/tmp/report_7o1lFb.xls"', $output, $return_val);
  echo "<br/>";
  echo serialize($output);
  echo "<br/>";
  echo $return_val;
  echo "<br/>";
} catch(Exception $e) {
  echo $e->getMessage();
  echo "<br/>";
}
echo "DONE";
尝试运行Java应用程序不会返回任何内容,浏览器不会执行任何操作。没有输出,没有错误日志

谢谢你调查这件事


Tobias.

是jar文件的路径,右键为-jar/Users/twolff/Projects/。。。是否正确?是否尝试过将java命令包装到shell脚本中?添加
2>&1
以查看任何控制台错误。否则,这是一个系统配置问题,例如,Web服务器用户被限制不在其他地方运行可执行文件。这是权限问题吗?当您在命令行中执行它时,您的运行方式是什么?PHP可能没有与root相同的权限,这可能是您在命令行中运行的权限。谢谢您的快速回答。是有意的,很抱歉没有透露这一部分:-)我将尝试shell脚本以及控制台错误。jar文件的路径正确吗,-jar/Users/twolff/Projects/。。。是否正确?是否尝试过将java命令包装到shell脚本中?添加
2>&1
以查看任何控制台错误。否则,这是一个系统配置问题,例如,Web服务器用户被限制不在其他地方运行可执行文件。这是权限问题吗?当您在命令行中执行它时,您的运行方式是什么?PHP可能没有与root相同的权限,这可能是您在命令行中运行的权限。谢谢您的快速回答。我是故意的,很抱歉没有透露这篇文章:-)我将尝试shell脚本以及控制台错误。
/usr/bin/java
a:1:{i:0;s:13:"/usr/bin/java";}
0
DONE