defaultArgs = $defaultArgs; } private function convertToString($input) { if (is_array($input)) { return json_encode($input); } return $input; } public function execute($cmd, $args, $input = null, $envs = []) { $stdin[] = $cmd; $stdin = array_merge($stdin, $this->defaultArgs, $args); if (isset($input)) { $input = $this->convertToString($input); } $process = new Process(implode(' ', $stdin), null, $envs, $input); $process->inheritEnvironmentVariables(); try { $process->mustRun(); return $process->getOutput(); } catch (ProcessFailedException $error) { throw $error; } } }