kitteam / proxmoxve
一个简单的 PHP 5.5+ Proxmox API 客户端。
Requires
- php: >=5.5.0
- lib-curl: *
- guzzlehttp/guzzle: ^6.2|^7.0
Requires (Dev)
- phpunit/phpunit: ~4.1
- squizlabs/php_codesniffer: 1.*
This package is auto-updated.
Last update: 2024-09-19 20:53:51 UTC
README
这个 PHP 5.5+ 库允许您通过 API 与 Proxmox 服务器交互。
我已经不再积极维护这个库了(我已经放弃了 PHP),但 API 很稳定,如果它不符合您的需求,请查看分支或最好创建一个 PR 来添加您缺失的功能,如果您感兴趣,我可以将项目转让给您。
寻找 PHP 5.3 库版本? 在 发布版 中搜索适合您需求的版本,我推荐使用 2.1.1 版本。
安装
推荐使用 Composer 进行安装,如果您还没有 Composer,您在等什么呢?
在您项目的根目录中执行以下操作
$ composer require zzantares/proxmoxve ~4.0
或者将其添加到您的 composer.json
文件中
{ "require": { "zzantares/proxmoxve": "~4.0" } }
然后执行安装
$ composer install --no-dev
用法
<?php // Require the autoloader require_once 'vendor/autoload.php'; // Use the library namespace use ProxmoxVE\Proxmox; // Create your credentials array $credentials = [ 'hostname' => 'proxmox.server.com', // Also can be an IP 'username' => 'root', 'password' => 'secret', ]; // realm and port defaults to 'pam' and '8006' but you can specify them like so $credentials = [ 'hostname' => 'proxmox.server.com', 'username' => 'root', 'password' => 'secret', 'realm' => 'pve', 'port' => '9009', ]; // Then simply pass your credentials when creating the API client object. $proxmox = new Proxmox($credentials); $allNodes = $proxmox->get('/nodes'); print_r($allNodes);
示例输出
Array ( [data] => Array ( [0] => Array ( [disk] => 2539465464 [cpu] => 0.031314446882002 [maxdisk] => 30805066770 [maxmem] => 175168446464 [node] => mynode1 [maxcpu] => 24 [level] => [uptime] => 139376 [id] => node/mynode1 [type] => node [mem] => 20601992182 ) ) )
使用 MailGateway API
此库也可以用来与 Proxmox MailGateway API 通信,只需简单更改凭证数组中的 system
条目。
<?php $credentials = [ 'hostname' => 'proxmox.server.com', // Also can be an IP 'username' => 'root', 'password' => 'secret', 'system' => 'pmg', // Defaults to 'pve' for the PVE API. Use 'pmg' for the PMG API. ];
想了解更多技巧吗?
查看我们的 wiki。
文档
在您的 Proxmox 客户端对象上,您可以使用 get()
、create()
、set()
和 delete()
函数操作在 PVE2 API 文档 中指定的所有资源,参数作为关联数组的第二个参数传递。
我可以交互哪些资源或路径以及如何交互?
在您的 Proxmox 服务器上,您可以使用 pvesh CLI 工具 来管理所有 pve 资源,您可以像使用 pvesh 工具一样使用此库。例如,您可以运行 pvesh
,然后,如屏幕消息所示,您可以输入 help [path] [--verbose]
来查看如何使用路径以及应该传递给它哪些参数。请确保在 Proxmox wiki 中阅读有关 pvesh CLI 工具的信息。
Proxmox API 是如何工作的?
请参考 ProxmoxVE API 文章,该文章位于 Proxmox wiki。
我觉得你隐藏了一些酷炫的技巧!我需要更多的文档!
请查看项目的 wiki 以获取更详细的文档,我发誓它都在那里... 我想。
许可
本项目采用 MIT 许可证发布。有关详细信息,请参阅附带的 LICENSE 文件。
想要贡献?
谢谢!请查看CONTRIBUTING,您可以轻松设置开发环境,让您立即开始!