clue/solusvm-api-react

一个简单的、异步的PHP库,通过SolusVM客户端API管理您的VPS

v0.1.1 2015-09-05 12:20 UTC

This package is auto-updated.

Last update: 2024-09-06 09:02:23 UTC


README

通过SolusVM API简单异步访问您的VPS盒子,基于React PHP构建

Solus虚拟管理器(SolusVM)是一款流行的商业控制面板(CP),用于虚拟私有服务器(VPS)。它的Web界面可以用来控制您的VPS,查看其详情或启动、重启或关闭。

使用SolusVM对于较小的VPS托管公司来说很常见,特别是那些在Low End Box上列出的小公司。作为用户(客户),您将获得对VPS的完全root访问权限(通常通过SSH),并使用SolusVM Web界面来管理您的VPS。

本项目使用SolusVM客户端API,以便您可以以编程方式管理您的VPS,而无需登录到Web界面来检查您的带宽使用情况或重启您的VPS。

注意:本项目处于测试阶段!请随时报告您遇到的问题。

快速入门示例

安装后,您可以使用以下代码从您的SolusVM提供商获取VPS信息

$loop = React\EventLoop\Factory::create();
$factory = new Factory($loop);
$client = $factory->createClient(array(
    'user' => '147492ddec07231c2de7e5865880fd0191955916',
    'pass' => 'Y4WNA-TZS6J-15YMB',
    'host' => 'manage.myhost.local'
));

$client->info()->then(function ($result) {
    var_dump($result);
});

$loop->run();

另请参阅示例

用法

工厂

Factory类负责构建Client实例。它还将所有内容注册到主EventLoop

$loop = React\EventLoop\Factory::create();
$factory = new Factory($loop);

如果您需要自定义DNS或代理设置,您可以显式传递一个自定义的Browser实例

$browser = new Clue\React\Buzz\Browser($loop);
$factory = new Factory($loop, $browser);

createClient()

createClient($address)方法可用于创建一个新的Client实例。您必须传递一个地址,如下所示

  • 字符串{scheme}://{hash/user}:{key/pass}@{host}/{path},例如https://147492ddec07231c2de7e5865880fd0191955916:Y4WNA-TZS6J-15YMB@manage.myhost.local
  • 包含键schemeuser(hash)、pass(key)、hostportpath的数组,如上述快速入门示例

只有userpass需要显式设置,Factory假设其他部分使用默认值https://localhost:5656/api/client/command.php

Client

Client类负责与远程SolusVM API通信。

动作

所有公共方法都与它们各自的SolusVM客户端API动作相对应。

$client->reboot();
$client->boot();
$client->shutdown();

$client->status();
$client->info($ipaddr = true, $hdd = true, $mem = true, $bw = true);

在这里列出所有可用的动作超出了范围,请参阅类概述

处理

执行动作是异步的(非阻塞),因此您实际上可以并行发送多个动作请求。SolusVM API服务将对每个请求响应一个响应值。顺序没有保证。发送请求使用基于Promise的接口,这使得在请求完成(即成功解决或因错误而拒绝)时做出反应变得容易

$client->status()->then(
    function ($result) {
        // response received for status action
    },
    function (Exception $e) {
        // an error occured while executing the status action
    }
});

安装

推荐安装此库的方式是通过 composer对composer不熟悉?

{
    "require": {
        "clue/solusvm-api-react": "~0.1.0"
    }
}

许可证

MIT