swiatprzesylek / directadmin
用于管理DirectAdmin控制面板服务器的PHP客户端库。
Requires
- php: >=5.6.0
- guzzlehttp/guzzle: ^6.1|^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^5.7 || ^7.3
This package is not auto-updated.
Last update: 2024-09-20 12:45:52 UTC
README
由于我们不再使用DirectAdmin,原始作者不再支持此包。在离开时,库仍然可以正常工作,使用时请自行承担风险。如果您想接管,只需将您的分支推送到Packagist,它是MIT许可。
这是一个用于管理DirectAdmin控制面板服务器的PHP客户端库。我们之所以决定开发这个库,是因为我们需要自动化我们的DirectAdmin服务器,而现有的实现不受支持且不完整。
安装
安装此库的推荐方式是通过Composer
composer require omines/directadmin
如果您不熟悉composer
,请遵循Linux/Unix/Mac或Windows的安装说明,然后阅读基本使用介绍。
依赖关系
该库使用Guzzle 6作为其HTTP通信层。支持的PHP版本为5.6、7.0、7.1和hhvm。
基本用法
要设置连接,请使用以下基本函数之一
use Omines\DirectAdmin\DirectAdmin; $adminContext = DirectAdmin::connectAdmin('http://hostname:2222', 'admin', 'pass'); $resellerContext = DirectAdmin::connectReseller('http://hostname:2222', 'reseller', 'pass'); $userContext = DirectAdmin::connectUser('http://hostname:2222', 'user', 'pass');
这些函数分别返回一个AdminContext
、ResellerContext
和UserContext
,分别公开给定级别可用的功能。所有三个都相互扩展,因为DirectAdmin使用严格的is-a模型。要代表用户执行操作,您可以使用模拟调用
$resellerContext = $adminContext->impersonateReseller($resellerName); $userContext = $resellerContext->impersonateUser($userName);
两者本质上是相同的,但映射到正确的返回类型。在管理用户的域名时,模拟也是隐式执行的
$domain = $adminContext->getUser('user')->getDomain('example.tld');
这返回(如果域名存在),在其所有者用户上下文中的一个Domain
实例,允许您透明地管理其电子邮件帐户等。
贡献
由于DirectAdmin API不断扩展,因此欢迎提交拉取请求,也欢迎提出特定功能的需求。拉取请求应通常包括对实现或修正的功能的适当单元测试。
有关单元测试的更多信息,请参阅测试文件夹中的README.md
。
法律
此软件是在荷兰埃因霍温的Omines Full Service Internetbureau内部开发的。它根据许可的MIT许可与公众共享,不保证适用于任何特定目的。有关详细信息,请参阅包含的LICENSE
文件。
该项目与JBMC Software及其员工没有任何关联。