function execute_cmd($commander, $workDir = '', $isBack = true)
{
$result = '';
if (empty($commander)) {
return $result;
}
if (!defined('FLUTTER_HOME')) {
define('FLUTTER_HOME', '/data/app/flutter');
}
if (!defined('ANDROID_HOME')) {
define('ANDROID_HOME', '/opt/android/');
}
if (!defined('JAVA_HOME')) {
define('JAVA_HOME', '/usr/local/jdk1.8.0_152/');
}
if (!defined('CLASSPATH')) {
define('CLASSPATH', '.:' . JAVA_HOME . '/lib:' . JAVA_HOME . '/lib/dt.jar:' . JAVA_HOME . '/lib/tools.jar:' . JAVA_HOME . '/bin');
}
if (!defined('PATH_HOME')) {
define('PATH_HOME', '.:/root/');
}
if (!defined('PATH')) {
define('PATH', '.:/bin/:/sbin/:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/sbin');
}
putenv('FLUTTER_HOME=' . FLUTTER_HOME);
putenv('JAVA_HOME=' . JAVA_HOME);
putenv('ANDROID_HOME=' . ANDROID_HOME);
putenv('CLASSPATH=' . CLASSPATH);
putenv('HOME=' . PATH_HOME);
putenv('PATH=' . PATH);
putenv('LC_ALL=en_US.UTF8');
putenv('LANG=en_US.UTF8');
umask(0022);
if ((!empty($workDir)) and is_dir($workDir)) {
//print "changeDir: $workDir\n";
chdir($workDir);
}
//print "Cmd: $commander\n";
if ($isBack) {
$commander .= ' 2>&1';
}
if (function_exists('exec')) {
@exec($commander, $result);
$result = join("\n", $result);
} elseif (function_exists('shell_exec')) {
$result = @shell_exec($commander);
} elseif (function_exists('system')) {
@ob_start();
@system($commander);
$result = @ob_get_contents();
@ob_end_clean();
} elseif (function_exists('passthru')) {
@ob_start();
@passthru($commander);
$result = @ob_get_contents();
@ob_end_clean();
} elseif (@is_resource($f = @popen($commander, "r"))) {
$result = '';
while (!@feof($f)) {
$result .= @fread($f, 1024);
}
@pclose($f);
}
return trim($result);
}