Ben PECL SSH2 uzantısını kullanarak SSH2 üzerinden uzak bir ana bilgisayardan bir iptables yapılandırma okur bir araç üzerinde çalışıyorum. Ben başarılı host bağlantısı doğrulamak ve komutları çalıştırmak mümkün duyuyorum. Ben yaşıyorum sorun akışı herhangi bir veri içermiyor bazen.
/**
* Load the current firewall configuration
* @return bool
*/
public function loadRules() {
$stream = ssh2_exec($this->connection,"~/iptsave;");
stream_set_blocking($stream,true);
$iptablesSave = stream_get_contents($stream);
if(empty($iptablesSave)) {
return false;
}
parent::restore($iptablesSave);
return true;
}
Zaman yaklaşık% 25, loadRules()
yerine uzak sistem locahost bağlanırken bile, false döndürür. Ben ssh2_exec
çağrısı değiştirilerek soruna başardı
$stream = ssh2_exec($this->connection,"~/iptsave; sleep .5");
ama bir şeylerin yanlış olduğunu endişe duyuyorum.