php管理虚拟机,通过代理连接
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,1、 进入安装目录Cd C:\Program Files\Oracle\VirtualBox设置web认证库为null:VboxManagesetproperty websrvauthlibrary
千家信息网最后更新 2025年12月02日php管理虚拟机,通过代理连接
1、 进入安装目录
Cd C:\Program Files\Oracle\VirtualBox
设置web认证库为null:
VboxManagesetproperty websrvauthlibrary null
然后开启服务
vboxwebsrv --host 0.0.0.0
2、在浏览器输入http://127.0.0.1:18083
在博客下方附件,提供vbox接口文件
写代码实现时,vbox_oper操作帮助类
include_once('vboxServiceWrappers.php');class Vbox_oper
{
protected $serverIp;
protected $serverPort = "18083";
protected $proxy_uname;
protected $proxy_password;
protected $proxy_host;
protected $proxy_port;
protected $item;
protected $connection;
/*
* 模块名称:得到连接
* 参数说明:
* 作者:csl
*/
public function getConn()
{
$url = "http://" . $this->serverIp . ":" . $this->serverPort . "/";
//$this->connection = new SoapClient("vboxwebService.wsdl", array('location' => $url, 'connection_timeout' => 5,));
$this->connection = new SoapClient("vboxwebService.wsdl", array('location' => $url,'connection_timeout'=>5,
'proxy_host' => $this->proxy_host, 'proxy_port' => $this->proxy_port,
'proxy_login' => $this->proxy_uname, 'proxy_password' => $this->proxy_password));
return $this->connection;
}
/*
* 模块名称:初始化代理信息
* 参数说明:
* init_proxy 包含:ip,port,username,password
* 作者:csl
*/
public function init_proxy($proxy){
if(!empty($proxy['ip']))
$this->proxy_host = $proxy['ip'];
if(!empty($proxy['port']))
$this->proxy_port = (int)$proxy['port'];
if(!empty($proxy['username']))
$this->proxy_uname = $proxy['username'];
if(!empty($proxy['password']))
$this->proxy_password = $proxy['password'];
}
/*
* 模块名称:初始化服务器信息
* 参数说明:
* init_proxy 包含:server_ip,sbmc
* 作者:csl
*/
public function init_data($item, $proxy = array())
{
$this->serverPort = "18083";
if(!empty($item['server_ip']))
$this->serverIp = $item['server_ip'];
if(!empty( $item['sbmc']))
$this->name = $item['sbmc'];
if (!empty($proxy)) {
$this->init_proxy($proxy);
}
}
/*
* 模块名称:启动虚拟机
* 参数说明:
* 作者:csl
*/
public function start()
{
$this->getConn();
$websessionManager = new IWebsessionManager($this->connection);
$virtualbox = $websessionManager->logon("", "");
$machine = $virtualbox->findMachine($this->name);
$session = $websessionManager->getSessionObject($virtualbox->handle);
$state = (string)$machine->state;
if ($state != 'Running' && $state != 'Paused') {
$progress = $machine->launchVMProcess($session->handle, "headless", "");
}
}
/*
* 模块名称:关闭虚拟机
* 参数说明:
* 作者:csl
*/
public function stop()
{
$this->getConn();
$websessionManager = new IWebsessionManager($this->connection);
$virtualbox = $websessionManager->logon("", "");
$machine = $virtualbox->findMachine($this->name);
$session = $websessionManager->getSessionObject($virtualbox->handle);
$state = (string)$machine->state;
if ($state == 'Running' || $state == 'Paused') {
$lockType = new LockType($session, 'Shared');
$machine->lockMachine($session, $lockType->NameMap[1]);
$iconsole = $session->getConsole();
$progress = $iconsole->powerDown();
}
}
/*
* 模块名称:重启虚拟机
* 参数说明:
* 作者:csl
*/
public function restart()
{
$this->getConn();
$websessionManager = new IWebsessionManager($this->connection);
$virtualbox = $websessionManager->logon("", "");
$machine = $virtualbox->findMachine($this->name);
$session = $websessionManager->getSessionObject($virtualbox->handle);
$state = (string)$machine->state;
if ($state == 'Running' || $state == 'Paused') {
$lockType = new LockType($session, 'Shared');
$machine->lockMachine($session, $lockType->NameMap[1]);
$iconsole = $session->getConsole();
$progress = $iconsole->reset();
} else if ($state == 'PoweredOff') {
$progress = $machine->launchVMProcess($session->handle, "headless", "");
}
}
/*
* 模块名称:获取vbox里面所有虚拟机
* 参数说明:
* 作者:csl
*/
public function get_machines(){
$this->getConn();
$websessionManager = new IWebsessionManager($this->connection);
$virtualbox = $websessionManager->logon("", "");
$machines = $virtualbox->machines;
return $machines;
}
}
作者
参数
名称
模块
信息
附件
服务
代理
代码
博客
接口
文件
服务器
浏览器
目录
帮助
浏览
认证
输入
管理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
游戏每日任务数据库表的设计
web服务器工作于
服务器 百度
石嘴山软件开发网上价格
许昌软件开发解决方案
虹口区会计网络技术咨询报价
电信安全网络安全信息安全
汽车销售管理系统数据库实验报告
江西达科互联网科技有限公司
松江区企业网络技术服务口碑推荐
庐江综合网络技术咨询介绍
软件开发实操报告
长沙软件开发培训学校排名
有关安全的童谣网络安全一年级
软件开发专业的考研方向
谷歌哪个版本可以连服务器
数据库的角色的定义
sql读取数据库指定行
企业网络安全问卷调查目的
网络安全法要求网络日志留存
数据库长时间未登录奔溃
昌吉互联网科技就业前景怎么样
鲁冰花伴奏软件开发
ado连接数据库的连接字符串
TD数据库创建内存表
国家网络安全活动报告
崇明区个性化软件开发产品介绍
服务器租用后怎么登陆
58同城服务器累趴下了
网络服务器的搭建与管理