Как ждать завершения выполнения команд wget и tar? - PullRequest
0 голосов
/ 07 мая 2018

У меня есть кодовый массив, похожий на приведенный ниже.

$ssh->exec('mkdir /root/example');
$ssh->exec('wget -q -P /root http://www.example.com/example.tar.bz2');
$ssh->exec('tar -xjf /root/example.tar.bz2 -C /root/example');
$ssh->exec('rm /root/example.tar.bz2');

Моя проблема;

Следующая команда запускается до завершения команд wget и tar. Как мне дождаться завершения выполнения команд wget и tar?

Я пытался;

$ssh->exec('mkdir /root/example');
$ssh->exec('wget -q -P /root http://www.example.com/example.tar.bz2');
sleep(10);
$ssh->exec('tar -xjf /root/example.tar.bz2 -C /root/example');
sleep(10);
$ssh->exec('rm /root/example.tar.bz2');

Я попробовал команду сна. Но не работа.

Редактировать: Мой английский плохой.

1 Ответ

0 голосов
/ 08 мая 2018

Попробуйте сделать $ssh->setTimeout(0);. По умолчанию время ожидания phpseclib истекает через 10 секунд. Установка времени ожидания равным 0 сделает так, что phpseclib не будет превышать время ожидания. PHP может, но phpseclib - нет.

...