请求指导:通过PHP脚本获取Plesk面板的用户及资源配额/使用详情
获取Plesk磁盘与带宽配额及使用情况的RPC请求方案
核心RPC调用说明
Plesk RPC接口中,获取用户/域名的资源配额和使用数据主要依赖以下几个API方法:
1. 用户级资源查询
使用customer.get方法,指定select参数包含limits和usage字段,可获取用户维度的磁盘、带宽配额及已用量:
<?xml version="1.0" encoding="UTF-8"?> <packet> <customer> <get> <filter/> <dataset> <limits/> <usage/> <gen_info/> </dataset> </get> </customer> </packet>
返回结果里,limits节点对应配额上限(如disk_space、bandwidth),usage节点为已使用量。
2. 域名级资源查询
若需更细粒度的域名维度数据,使用domain.get方法,同样指定limits和usage数据集:
<?xml version="1.0" encoding="UTF-8"?> <packet> <domain> <get> <filter/> <dataset> <limits/> <usage/> <gen_info/> </dataset> </get> </domain> </packet>
注意:不同Windows/Linux版本的Plesk可能存在字段命名差异,比如部分版本磁盘空间字段为disk_quota而非disk_space,若返回字段不符,需核对对应版本的RPC字段定义。
3. 跨版本兼容处理
- Plesk Obsidian及以上版本,上述方法直接兼容Windows和Linux环境
- 旧版本(如Onyx)需在
dataset中额外指定hosting节点,从hosting/limits和hosting/usage中提取资源数据
PHP调用示例片段
// 假设已初始化Plesk RPC客户端$client $xmlRequest = <<<XML <?xml version="1.0" encoding="UTF-8"?> <packet> <customer> <get> <filter/> <dataset> <limits/> <usage/> <gen_info/> </dataset> </get> </customer> </packet> XML; $response = $client->request($xmlRequest); // 解析响应提取资源数据 $customers = $response->customer->get->result; foreach ($customers as $customer) { $diskQuota = $customer->limits->disk_space; $diskUsed = $customer->usage->disk_space; $bandwidthQuota = $customer->limits->bandwidth; $bandwidthUsed = $customer->usage->bandwidth; // 后续业务逻辑处理 }
注意事项
- 确保RPC调用用户拥有Plesk管理员权限,否则无法获取完整资源数据
- 解析响应时需注意节点属性,比如资源单位(磁盘空间可能以MB/GB为单位)
内容的提问来源于stack exchange,提问作者Sujith
相关产品推荐
相关产品推荐

