php - SSH 进入动态远程服务器并运行命令 - Laravel 5.8
问题描述
我正在使用 L 5.8,我有一个带有 3 个输入的表单
现在,我可以使用这个包通过 SSH 连接到特定的服务器laravelcollective/remote": "~5.8
。我需要预先 配置IP、UN、PW 之config/remote.php
类的:
'connections' => [
'production' => [
'host' => '1.1.1.1',
'username' => 'code',
'password' => '8888',
'key' => '',
'keytext' => '',
'keyphrase' => '',
'agent' => '',
'timeout' => 10,
],
],
然后,我可以轻松运行任何命令,甚至链接它们
$commands = ['cd /home/code && ./runMe.sh'];
SSH::run($commands, function($line)
{
echo $line.PHP_EOL;
});
结果
我的门户将连接到该服务器并成功运行该命令,并且我已经验证了它。
现在
我需要从表单输入中读取它。是否可以使用相同的插件并动态设置该文件remote.php
?
或者
我应该开始寻找其他东西,因为这是一个死胡同吗?
请指教,
解决方案
您可以在config()
此处使用帮助程序:
示例配置:
config([
'remote.connections.production.host' => $request->input('hostname'),
'remote.connections.production.username' => $request->input('username'),
'remote.connections.production.password' => $request->input('password')
]);
然后调用:
$commands = ['cd /home/code && ./runMe.sh'];
SSH::run($commands, function($line)
{
echo $line.PHP_EOL;
});
推荐阅读
- javascript - 如何在反应原生的屏幕渲染上触发 onPress 事件?
- macos - CMake转义OS X内容副本的文件名中的特殊字符
- angularjs - 如何使用 dx-scheduler/angularjs 自定义事件添加
- swift - UITextfield .isSecureTextEntry 中断应用程序
- spring - RestTemplate 使用 HttpEntity 调用帖子
> 内部数据转换为 base64 - macos - 木桶“google-chrome-canary”不可用
- python - 如何杀死线程池中的线程?
- javascript - 函数被声明但它的值从未被读取:React
- scala - CMD Dockerfile 中的转义命令
- sql - SQL实现复杂数据校验?