jagdish-j-p / cpanel-api
PHP 实现的 CPANEL APIS,即 UAPI、API2,通过 PHP 管理 CPANEL 的功能,例如管理数据库、管理数据库用户。
v1.1.0
2023-08-12 10:03 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 的双因素认证 – 配置双因素认证