当前位置: 首页 > 知识库问答 >
问题:

如何使用phpseclib在php中通过SSH正确发送数据

殳越
2023-03-14

我正在尝试用PHP向远程服务器发送命令。问题是,当我尝试发送一个带有参数的命令时,它将参数连接到文本中。

例如,如果我执行“MMI-MODE DISABLE”,它将执行命令OK。

但是当我尝试发送“undo service-port$id_ont”时,它会尝试执行“undo service-port4”而不是“undo service-port4”

执行命令的函数是:

protected function execCommand(Command $command)
    {
        $response = '';

        $this->ssh->write("{$command->getCommand()}{$this->enterKey}");

        if ($this->logging) {
            $response = $this->ssh->read();

            $this->log($command->getCommand(), $response);
        }

        if ($command->needResponse()) {
            if ($response === '') {
                $response = $this->ssh->read();
            }

            $this->response($response);
        }
    }

我从服务器得到的响应是

OLT-Belisle01(config-if-gpon-0/0)#\r\n
       \r\n
       OLT-Belisle01(config-if-gpon-0/0)#
       """,
     """
       undo service-port4\r\n
                                              ^\r\n
         % Unknown command, the error locates at '^'\r\n
       \r\n
       OLT-Belisle01(config-if-gpon-0/0)#\r\n
       \r\n
       OLT-Belisle01(config-if-gpon-0/0)#
       """,

共有1个答案

章景同
2023-03-14

当你这样做的时候呢?“撤消服务-端口”。$ID_ONT

 类似资料:
  • 我对使用Web服务和理解XML非常陌生。如果您觉得我应该阅读一些教程或文档,如果您能提供一些链接,我将不胜感激。 我试图通过web服务执行一个简单的功能, 在提供的文档中,我有以下信息。。。 Web服务输入参数: id,数据类型=xs: string, lenght: 10 密码,数据类型=xs: string, lenght: 25 组,数据类型=xs:string,长度:20 orderxml

  • 问题内容: 我想发送一个用JavaScript构造的数组,其中包含多个select的选定值。有没有一种方法可以使用ajax将此数组发送到php脚本? 问题答案: 您可以使用XML或JSON发回到服务器。您的javascript将必须构造该帖子,在XML的情况下,则需要您在javascript中创建它。JSON不仅轻巧,而且更易于在javascript中制作。签出JSON- PHP 来解析JSON。

  • 问题内容: 我已经在项目中实现了推送通知,到目前为止一切正常。我尝试过通过Pusher发送通知,但效果很好。但是我必须通过PHP发送它们,但尚无法使用。我发现了许多有关如何实现此目标的旧解释,但似乎没有一个对我有用。 这就是我要使用的方法: 问题答案: 尝试使用此php脚本,确保.pem证书在运行时以与该php脚本相同的路径退出,并获得正确的设备令牌

  • 在我的应用程序中,如果多个用户使用相同的WiFi连接而不使用TCP,我希望通过WiFi将文件发送给多个用户。如何获取连接到指定wify的用户列表。我试过样品,但什么也没得到。

  • 我使用的是一个无法升级的PHP 5.4旧系统。我不得不通过添加一个名为FPDF/FPDI的PDF文件生成库来做一个小小的改变,该库具有以下功能: 问题是,如本问题所述,::class是在PHP 5.5中添加的。 问题是:需要对该函数进行哪些更改才能在PHP 5.4中工作?

  • 问题内容: 我正在尝试在Jenkinsfile中使用 通过SSH发布 插件。但是,我在方法中遇到了异常。这是我的代码: 如何摆脱异常? 问题答案: 这是因为某些变量不可序列化。 来自文件 由于管道必须在Jenkins重新启动后才能幸免,因此正在运行的程序的状态会定期保存到磁盘,以便以后可以恢复(保存在每个步骤之后或在步骤的中间进行,例如)。 您可以使用注释进行创建,使用