jagdish-j-p/cpanel-api

PHP 实现的 CPANEL APIS,即 UAPI、API2,通过 PHP 管理 CPANEL 的功能,例如管理数据库、管理数据库用户。

v1.1.0 2023-08-12 10:03 UTC

This package is auto-updated.

Last update: 2024-09-04 09:36:41 UTC


README

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

成为赞助商

您的支持使我能够保持此包免费、更新和可维护。或者,您可以 传播信息!

安装

composer require jagdish-j-p/cpanel-api

使用

使用 cpanel 用户名和密码进行基本认证

use JagdishJP\CPanelAPI\CPanelAPI;
use JagdishJP\CPanelAPI\AuthType;

$cPanel = new cpanelAPI('cpanel_username', 'cpanel_password', 'cpanel.example.com');

使用 cpanel 用户名和 API 令牌进行认证。您可以从 安全 -> 管理 API 令牌 创建令牌。访问 管理 API 令牌

use JagdishJP\CPanelAPI\CPanelAPI;
use JagdishJP\CPanelAPI\AuthType;

$cPanel = new cpanelAPI('cpanel_username', 'cpanel_api_token', 'cpanel.example.com', AuthType::TOKEN);

我们想要使用的 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', AuthType::BASIC, 'secret');

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