marcuspmd/cpanel-uapi-php-class

该软件包最新版本(dev-master)没有可用的许可信息。

由 N1ghteyes 分支出的类

dev-master 2024-07-19 10:55 UTC

This package is auto-updated.

Last update: 2024-09-19 11:24:46 UTC


README

GitHub release

PHP 类,用于提供与 cPanel 的 UAPI 和 API2 的简单易用接口。使用 PHP 魔术函数提供简单而强大的接口。

v2.0 与 v1.x 不兼容,可能还会进行一些更改。有关详细信息,请参阅 变更日志。类已重命名为 cpanelAPI。需要进一步测试。

  • 注意,虽然这个类没有被弃用,但有一个新的 Agnostic API 类可用,它可以做这个类能做的所有事情(除了 2FA),并且可以与任何 RESTful / HTTP API 一起工作——基本上是所有不是 SOAP 的事情。 https://github.com/N1ghteyes/apicore

用法

如果您选择使用此类,请在 Github 上 Star 它。这可以帮助我更好地了解用户数量以及当进行更改时受影响的人。

请参阅示例文件,但典型用法如下:

实例化类

$cPanel = new cpanelAPI('user', 'password', 'cpanel.example.com');

我们想要使用的 API 和模块(也称为范围)现在是受保护的,由 __get() 设置。

请求布局如下: $cPanel->api->method->Module->request(args[])

->method 部分应替换为 ->get 用于 GET 请求,替换为 ->post 用于 POST 请求,或省略以默认为 GET 请求。

例如,假设我们想要使用 UAPI 调用 Mysql::get_server_information 函数

$response = $cPanel->uapi->Mysql->get_server_information();
var_dump($response);

现在我们已经设置了 API 和模块,我们可以调用该 API 和模块中的其他函数,而无需再次指定它们

$response = $cPanel->create_database(['name' => $cPanel->user.'_MyDatabase']);
var_dump($response);

我们还可以更改模块范围而无需再次指定 API。注意,模块调用是区分大小写的。

$response = $cPanel->SSL->list_certs();

文件上传示例

$cPanel = new cpanelAPI($username, $password, $hostname);
$cPanel->uapi->post->Fileman
       ->upload_files(['dir' => REMOTE_PATH_RELATIVE_TO_HOME,
                       'file-1' => new CURLFile(LOCAL_PATH_TO_FILE)
                       ]);

API2

API2 的使用方法与 UAPI 完全相同

$cPanel = new cpanelAPI('user', 'password', 'cpanel.example.com');

例如,假设我们想要使用 API2 添加子域名

$response = $cPanel->api2->SubDomain->addsubdomain(['rootdomain' => 'domain.com', 'domain' => 'sub']);
var_dump($response);

双因素认证

要在带有双因素认证(2FA)的 cPanel 实例上使用此类,您需要将密钥传递给类构造函数

$cPanel = new cpanelAPI('user', 'password', 'cpanel.example.com', 'secret');

密钥可以在 2FA 设置页面上找到。有关详细信息,请参阅 cPanel 的双因素认证 – 配置双因素认证