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);
}

标签: none

已有 6 条评论

  1. 看的我热血沸腾啊https://www.ea55.com/

  2. 1 1

    555

  3. 《冲天火国语》动作片高清在线免费观看:https://www.jgz518.com/xingkong/50159.html

  4. 做了几十年的项目 我总结了最好的一个盘(纯干货)

  5. 果博东方客服开户联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方公司客服电话联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方开户流程【182-8836-2750—】?薇- cxs20250806】
    果博东方客服怎么联系【182-8836-2750—】?薇- cxs20250806】

  6. 快餐和全套的意思是什么a0heb.cn

添加新评论