Я пытаюсь отправить некоторые команды на маршрутизатор Cisco, команды хранятся в БД, и когда я хочу выполнить эту команду, я отправляю ее функции.
$command = "configure terminal<br />router bgp 444444<br />address-family ipv4<br />neighbor x.x.x.x prefix-list NAME out<br />end<br />clear ip bgp x.x.x.x soft out";
Если я объявляю команды одну за другой, это работает:
//execute the command
public function execCommand()
{
$this->_send('config terminal');
$this->_readTo($this->_prompt);
$this->_send('router bgp 444444');
$this->_readTo($this->_prompt);
$this->_send('address-family ipv4');
$this->_readTo($this->_prompt);
$this->_send('neighbor x.x.x.x prefix-list NAME out');
$this->_readTo($this->_prompt);
$this->_send('end');
$this->_readTo($this->_prompt);
$this->_send('clear ip bgp x.x.x.x soft out');
$this->_readTo($this->_prompt);
return true;
} //execCommand
Если я передаю команду, как это не работает:
//execute the command
public function execCommand($command)
{
$cmd = explode("<br />",$command);
foreach($cmd as $row){
$this->_send($row);
$this->_readTo($this->_prompt);
}
return true;
} //execCommand
Я использую PHP для класса CIsco http://www.soucy.org/
Спасибо
Задача ещё не решена.
Других решений пока нет …