public static function run($source)
{
$process = proc_open(self::_getPhpBinary(), self::$_descriptorSpec, $pipes);
if (is_resource($process)) {
fwrite($pipes[0], $source);
fclose($pipes[0]);
$stdout = stream_get_contents($pipes[1]);
fclose($pipes[1]);
$stderr = stream_get_contents($pipes[2]);
fclose($pipes[2]);
proc_close($process);
$return = array('stdout' => $stdout, 'stderr' => $stderr);
return $return;
} else {
throw new \Mutagenesis\FUTException('Unable to open a new process');
}
}