Git Hook PHP脚本:没有输出

时间:2016-09-15 15:16:30

标签: java php git

我写了这个脚本php-pull-script.php

<?php
  $output1 = shell_exec('git pull');
  $output2 = shell_exec('pkill java');
  $output3 = shell_exec('mvn package');
  $output4 = shell_exec('java -jar ./target/compute-0.0.1-SNAPSHOT.jar');

  echo "<pre>$output1</pre>";
  echo "<pre>$output2</pre>";
  echo "<pre>$output3</pre>";
  echo "<pre>$output4</pre>";
?>

在shell中执行时,我没有看到任何输出以验证它是否正在运行。我不确定它是否有效。有没有更好的方法来执行此自动化脚本?

2 个答案:

答案 0 :(得分:0)

您可能不在正确的工作目录中。您可能需要set that manually才能运行命令。否则,这些命令看起来正确。虽然你真的应该把它设置为shell脚本。 PHP不是这种语言的好语言,如果你从REST端点调用它,那么有更好的解决方案,如Jenkins

答案 1 :(得分:0)

如何使用shell_exec发送java命令并让它在后台运行(是否可以使用shell exec)?

test.php的

 <?php
 shell_exec('test.sh');

test.sh

 echo "Do something"
 /bin/sh -c 'sleep 10' >> /dev/null 2>&1 &

 exit 0
  • /dev/null也可以是日志文件的路径
  • 此处和phpscript中的所有路径都应该是绝对的,例如:/ path/tomy/test.sh

这里test.php不会等待10秒钟。

希望有所帮助;)