php - Laravel - 返回 SSH 输出

标签 php ajax 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 方法。谢谢大家!

关于php - Laravel - 返回 SSH 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24960644/

相关文章:

php - mysql_data_seek 不工作

php - 查询此问题的最佳方式是什么?

javascript - 在javascript中检索json对象的值

mysql - 使用 2 个变量从数据库中选择

php - Laravel 5.4 中的 Group By 替代方案

javascript - 使用 JS base64 编码并使用 php base64_decode 进行判定

php - 在 macOS 上本地运行 CouchCMS 时路径损坏

php - 在页面内加载页面或将 js 变量传递给 php

javascript - 不同域中两个应用程序的浏览器之间的通信

laravel - 多对多关系同步删除所有选定的选项