Я пытался клонировать репозиторий с помощью PHP, поэтому вывод показывает только
cloning into project-name
?
и не показывать мне следующее сообщение типа
remote: перечисление объектов
удаленный: подсчет объектов
получающий объект 19% (591/3095), 5,06 МиБ | 1024,00 КиБ / с
вот моя функция для выполнения живой команды
ob_implicit_flush(true);ob_end_flush();
function liveExecuteCommand($cmd)
{
// while (@ ob_end_flush()); // end all output buffers if any
$proc = popen("$cmd 2>&1 ; echo Exit status : $?", 'r');
$live_output = "";
$complete_output = "";
while (!feof($proc))
{
$live_output = fread($proc, 4096);
$complete_output = $complete_output . $live_output;
echo "$live_output";
// @ flush();
}
pclose($proc);
// get exit status
preg_match('/[0-9]+$/', $complete_output, $matches);
// return exit status and intended output
return array (
'exit_status' => intval($matches[0]),
'output' => str_replace("Exit status : " . $matches[0], '', $complete_output)
);
}
и затем я вызываю функцию:
liveExecuteCommand('git clone https://username:password@gitlab.com/example/project.git');
Кто-нибудь может мне помочь?