php – Laravel – 返回SSH输出

前端之家收集整理的这篇文章主要介绍了php – Laravel – 返回SSH输出前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感谢您对此主题感兴趣.我在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方法.谢谢大家!

猜你在找的Laravel相关文章