/** * Exec multiple commands at once * * @param array<> $commands * @return vouid */ public static function exec(array $commands) { foreach ($commands as $c) { Release::split('─'); echo ' [exec] ' . $c . PHP_EOL; Release::split('─'); $process = proc_open($c, array(0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'w')), $pipes); if (is_resource($process)) { fclose($pipes[0]); while (!feof($pipes[1]) || !feof($pipes[2])) { if ($out = fgets($pipes[1], 128)) { echo ' │ ' . $out; } if ($err = fgets($pipes[2], 128)) { echo ' ! ' . $err; } } fclose($pipes[1]); fclose($pipes[2]); proc_close($process); } } Release::split('─'); }