ped*_*con 5 php ajax ssh laravel
感谢您对这个话题感兴趣。我是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;
}
Run Code Online (Sandbox Code Playgroud)
OBS:Ajax连接已经测试过了,没问题!谢谢!
终于解决了!解决方案如下:
首先,我在类中创建了一个名为 $output 的变量。
private $output;
Run Code Online (Sandbox Code Playgroud)
然后我将我的方法修改为:
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;
}
Run Code Online (Sandbox Code Playgroud)
我的方法不再是 Ajax,但我希望我所要做的就是像以前一样回滚到我的 ajax 方法。谢谢大家!
| 归档时间: |
|
| 查看次数: |
2325 次 |
| 最近记录: |