eliashaeussler / cpanel-requests
一个小的PHP库,允许向cPanel实例发送请求
3.1.1
2024-01-16 19:13 UTC
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- ext-json: *
- guzzlehttp/guzzle: ^7.0
- guzzlehttp/psr7: ^2.0
- monolog/monolog: ^3.0
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0 || ^2.0
- symfony/console: ^6.0 || ^7.0
- symfony/filesystem: ^6.0 || ^7.0
- symfony/finder: ^6.0 || ^7.0
Requires (Dev)
- armin/editorconfig-cli: ^1.8 || ^2.0
- donatj/mock-webserver: ^2.4
- eliashaeussler/php-cs-fixer-config: ^2.0
- eliashaeussler/phpstan-config: ^2.0
- eliashaeussler/rector-config: ^2.0
- ergebnis/composer-normalize: ^2.28
- phpstan/extension-installer: ^1.2
- phpstan/phpstan-phpunit: ^1.1
- phpunit/phpunit: ^10.3
- spomky-labs/otphp: ^11.1
- thecodingmachine/safe: ^2.0
Suggests
- spomky-labs/otphp: Used for authentication via HTTP session (^11.1)
- dev-main
- 3.1.1
- 3.1.0
- 3.0.1
- 3.0.0
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.1
- 1.0.0
- dev-renovate/ergebnis-composer-normalize-2.x-lockfile
- dev-renovate/eliashaeussler-php-cs-fixer-config-2.x-lockfile
- dev-renovate/eliashaeussler-rector-config-3.x-lockfile
- dev-renovate/phpstan-packages
- dev-renovate/spomky-labs-otphp-11.x-lockfile
- dev-renovate/lock-file-maintenance
- dev-renovate/psr-http-factory-1.x-lockfile
- dev-renovate/monolog-monolog-3.x-lockfile
- dev-renovate/guzzlehttp-psr7-2.x-lockfile
This package is auto-updated.
Last update: 2024-09-21 10:55:47 UTC
README
cPanel 请求
📦 Packagist | :floppy_disk: 仓库 | :bug: 问题跟踪器
一个简单的PHP项目,用于在您的cPanel安装上发出API请求。这允许您调用安装内部模块并与它们交互,以添加、显示或列出数据,如域名、电子邮件账户、数据库等。
该项目使用了UAPI。因此,需要至少运行版本42的cPanel安装。.
🔥 安装
composer require eliashaeussler/cpanel-requests
⚠️ 如果您想与HTTP会话授权方法一起使用双因素认证,您必须手动引入spomky-labs/otphp
包(>= 11.1)。
⚡ 使用
授权
目前有以下授权方法可用
💡 您还可以为您的cPanel实例提供自己的授权实现。为此,您必须实现Application\Authorization\AuthorizationInterface
接口。
创建一个新的CPanel
实例
一旦您选择了认证方法,您就可以创建一个新的Application\CPanel
实例
use EliasHaeussler\CpanelRequests\Application; /** @var Application\Authorization\AuthorizationInterface $authorization */ $cPanel = new Application\CPanel($authorization, 'example.com', 2083);
执行API请求
现在您可以发出API请求
use EliasHaeussler\CpanelRequests\Application; /** @var Application\CPanel $cPanel */ $response = $cPanel->api('<module>', '<function>', ['optional' => 'parameters']); if ($response->isValid()) { // Do anything... // Response data can be fetched using $response->getData() }
注意目前仅支持GET请求。
访问官方文档以获取有关可用API模块和函数的概述。
🐝 示例
use EliasHaeussler\CpanelRequests\Application; use EliasHaeussler\CpanelRequests\Http; $authorization = new Application\Authorization\TokenAuthorization( username: 'bob', token: '9CKU401OH5WVDGSAVXN3UMLT8BJ5IY', ); $cPanel = new Application\CPanel( authorization: $authorization, host: 'cpanel.bobs.site', port: 2083, protocol: Http\Protocol::Https, ); // Fetch domains from cPanel API $response = $cPanel->api( module: 'DomainInfo', function: 'list_domains', ); if (!$response->isValid()) { throw new \RuntimeException('Got invalid response from cPanel application.'); } $domains = $response->getData()->data; echo 'Bob\'s main domain is: ' . $domains->main_domain;
🗑️ 清理
该项目提供了一个控制台应用程序,可以从命令行执行多个清理命令。
# General usage vendor/bin/cpanel-requests # Remove expired request cookie files (default lifetime: 1 hour) vendor/bin/cpanel-requests cleanup:cookies vendor/bin/cpanel-requests cleanup:cookies --lifetime 1800 # Remove log files vendor/bin/cpanel-requests cleanup:logs
🧑💻 贡献
请查看CONTRIBUTING.md
。
⭐ 许可证
该项目受GNU通用公共许可证3.0(或更高版本)许可。