从PHP脚本exec()执行时无法从gradle获取输出

时间:2014-12-16 13:24:03

标签: php android gradle

我正在尝试使用exec()从PHP脚本执行Gradle来构建Android应用程序,但是没有响应,所以我无法看到构建失败的原因。

从终端(SSH)执行应用程序gradle包装器时,整个过程正常,使用以下命令:

x:/path/to/project/$ ./gradlew assembleRelease
x:/path/to/project/$ ./gradlew assembleRelease --debug --stacktrace
x:/path/to/project/$ ./gradlew assembleRelease --debug --stacktrace > output.txt

输出正常,我可以解决任何可能的问题。从PHP脚本执行gradle时,没有输出。

// array for the output to be dumped into
$output_array = array();

// $result is empty (tried with stacetrace, debug and an output file)
$result = exec("cd /path/to/project && ./gradlew assembleRelease", $output_array);

// nothing displayed
var_dump($output_array);

我无法告诉问题在哪里。我已经检查了所需的环境变量($GRADLE_HOME$ANDROID_HOME)是使用getenv()设置的,它们指向正确的路径。

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

我没有linux专家,但似乎你从"〜/ path / to / project"启动它(ssh)。 (〜意思是你的家乡之路)。

在php中,您尝试从" / path / to / project" (从根文件夹的绝对路径)。

尝试用" ls"替换你的第二个命令所以你会看到你在哪里......并与你应该在哪里进行比较!