Не без особых проблем.
В верхней части моей головы вы можете перенаправить вывод SCP в файл, затем запросить AJAX к скрипту, который анализирует этот файл, и при появлении новой строки (при условии, что scp увеличивает его индикатор выполнения, разделяя строки с помощью \ r) PHP-скрипт каким-то образом завершает работу, инструктируя браузер увеличивать индикатор выполнения, затем снова запускать процесс AJAX ... и так далее до тех пор, пока scp не завершится.
Я делал подобные вещи раньше, и я бы сказал, что это не стоит огромных усилий для такой маленькой тонкости - если только вы не чувствуете, что у вас уже недостаточно для этого ...
Было бы намного проще делать подобные вещи, если бы браузеры позволяли вам читать ajax.responseText
до ajax.readyState == 4
, но они этого не делают, так что нет.
EDIT
Просто подумал об альтернативном подходе к этому, который может быть проще в некоторых отношениях, но труднее в других:
Если вы поместите индикатор выполнения в <iframe>
, вам не нужно иметь огромное количество вызовов AJAX, и вы можете сделать все это с помощью javascript на сервере - но вам понадобится веб-сервер, который поддерживает это и в некоторой степени полагаются на браузер, который будет разумно обрабатывать настройки.