marcuspmd / cpanel-uapi-php-class
该软件包最新版本(dev-master)没有可用的许可信息。
由 N1ghteyes 分支出的类
dev-master
2024-07-19 10:55 UTC
Requires
- php: ~5.5|~7.0|^8.0
This package is auto-updated.
Last update: 2024-09-19 11:24:46 UTC
README
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 的双因素认证 – 配置双因素认证