krazzer/directadmin

用于管理DirectAdmin控制面板服务器的PHP客户端库。

v0.1.11 2022-10-26 14:25 UTC

This package is auto-updated.

Last update: 2024-09-26 19:20:36 UTC


README

Build Status Coverage Status Scrutinizer SensioLabs Insight GitHub license

由于我们不再使用DirectAdmin,因此原始作者不再支持此软件包。在我们离开时,库仍然可以正常工作,使用时请自行承担风险。如果您想接管,只需将您的分支推送到Packagist,全部遵循MIT协议。

这是一个用于管理DirectAdmin控制面板服务器的PHP客户端库。我们只是简单地决定开发这个库,因为我们需要自动化我们的DirectAdmin服务器,而现有的实现不受支持且不完整。

此项目的API文档在每次推送时自动生成.

安装

Packagist Packagist

推荐通过Composer安装此库

composer require omines/directadmin

如果您不熟悉composer,请遵循Linux/Unix/MacWindows的安装说明,然后阅读基本使用介绍

依赖项

该库使用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');

这些函数分别返回一个AdminContextResellerContextUserContext,分别公开给定级别的功能。所有三个都相互扩展,因为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及其员工没有任何关联。