我有一个类似于下面的代码数组。
$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');
我试过睡眠命令。但不行。
编辑:我的英语不好。答案 0 :(得分:1)
尝试$ssh->setTimeout(0);
。默认情况下,phpseclib在10秒后超时。将超时设置为0将使phpseclib不会超时。 PHP可能会,但phpseclib赢了。