加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel – 返回SSH输出

发布时间:2020-12-14 19:38:43 所属栏目:大数据 来源:网络整理
导读:感谢您对此主题感兴趣.我在Laravel很新,我有一个小问题.也许这很容易! 我的Laravel中有一个SSH模块可以这样工作: 用户使用 Linux命令填充textarea元素. 该命令与Ajax一起传递给位于’controllers’文件夹中的名为getExecute()的方法 我想这个方法返回我的S
感谢您对此主题感兴趣.我在Laravel很新,我有一个小问题.也许这很容易!
我的Laravel中有一个SSH模块可以这样工作:
用户使用 Linux命令填充textarea元素.
该命令与Ajax一起传递给位于’controllers’文件夹中的名为getExecute()的方法
我想这个方法返回我的SSH服务器的完整响应,但这不会发生.该方法返回的唯一内容是空格.

例如:我传递命令’ls -la’,我的响应是Linux找到的所有文件夹,就像在终端上一样.
有谁可以帮助我吗?
这是我的代码:

public function getExecute()
{
    if(Request::ajax()):

        $ssh_command = Input::get('ssh_command');
        $ssh_response = null;

        SSH::run($ssh_command,function($line)
        {
            return $line.PHP_EOL;
        });

    endif;
}

OBS:Ajax连接已经过测试,没问题!
谢谢!

解决方法

终于解决了!方案如下:

首先,我在我的班级中创建了一个名为$output的变量.

private $output;

然后我修改了我的方法:

public function postExecute()
{
    $ssh_command = Input::get('ssh_command');
    $ssh_response = SSH::run($ssh_command,function($line)
    {
        $this->output = $line.PHP_EOL;
    });

    return $this->output;
}

我的方法不是更多Ajax,但我希望我所要做的就是像以前一样回滚到我的ajax方法.谢谢大家!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读