clue / solusvm-api-react
一个简单的、异步的PHP库,通过SolusVM客户端API管理您的VPS
Requires
- php: >=5.3
- clue/buzz-react: ~0.4.1
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
- 包含键
scheme
、user
(hash)、pass
(key)、host
、port
、path
的数组,如上述快速入门示例
只有user
和pass
需要显式设置,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