1

我想通过使用 mikrotik API 检索 mikrotik PPPoE 服务器服务名称列表,并通过选择菜单遍历所有服务名称。我自己完成了代码。代码如下所示:

$ctype =$this->uri->segment('3');
if($ctype=='PPP')
{
  if ($this->routerosapi->connect('1.1.1.1', 'xxx', 'xxx')) 
  {
    $this->routerosapi->write('/interface/pppoe-server/getall');
    $READ = $this->routerosapi->read(false);
    $mktserver= $this->routerosapi->parseResponse($READ);  
    $this->routerosapi->disconnect();
  }
}
elseif($ctype=='HSP')
{
  if ($this->routerosapi->connect('xxx', 'xxx', 'xxx')) 
  {
    $this->routerosapi->write('/ip/hotspot/server/getall');
    $READ = $this->routerosapi->read(false);
    $mktserver= $this->routerosapi->parseResponse($READ);  
    $this->routerosapi->disconnect();
  }
}  
<p>
    <label for="simple-required">Server</label>
    <select name="server" id="server" class="full-width">
    <?php foreach($mktserver as $item):?>
    <option value="<?php echo $item['service-name'];?>"><?php echo $item['service-name'];?></option>
    <?php endforeach;?>
</select>
</p>

我究竟做错了什么?

注意:
请具体说明您的答案。我不想要任何基本的答案。我希望您非常仔细地阅读代码并理解它并最终回答它。为了您的关注,我想要 PPPoE 的列表迭代和 Mikrotik 的热点。

4

1 回答 1

0

冒着给出“基本”答案的风险,请查看这个 mikrotik cli 命令:

:put [/interface get [find type=pppoe-out]]

我建议在尝试在 api 中执行之前让您想要在 cli 中正常工作的命令。

于 2019-02-18T04:29:12.937 回答