proxmoxVE
v5.3
这个PHP 8+ Proxmox库允许通过API与您的Proxmox PVE服务器和群集进行交互。
您会发现任何错误,错别字,或者发现某些事情无法正常工作,请打开问题。我将尝试尽快发布修复程序。
推荐的安装使用作曲家。如果您没有作曲家,您还在等什么?
在项目的根源中,执行以下操作:
$ composer require mrkampf/proxmox-ve或将其添加到您的composer.json文件:
{
"require" : {
"mrkampf/proxmox-ve" : " ^0.4.4 "
}
}然后执行安装:
$ composer install --no-dev <?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox PVE ;
// Then simply pass your credentials when creating the API client object.
$ proxmox = new PVE ( " hostname " , " username " , " password " , 8006 , " pve " , false );
// Note: Use "pam" instead of "pve" if you're using Standard Linux PAM authentication.
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ());
// Read all LXC
print_r ( $ proxmox -> nodes ()-> lxc ()-> get ());
// Read all LXC for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> lxc ()-> get ());
// Read all qemu
print_r ( $ proxmox -> nodes ()-> qemu ()-> get ());
// Read all QEMU for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> qemu ()-> get ()); <?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox API ;
// Then simply pass your credentials when creating the API client object.
$ proxmox = new API ( " hostname " , " USER@REALM!TOKENID " , " aaaaaaaaa-bbb-cccc-dddd-ef0123456789 " , 8006 , false );
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ());
// Read all LXC
print_r ( $ proxmox -> nodes ()-> lxc ()-> get ());
// Read all LXC for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> lxc ()-> get ());
// Read all qemu
print_r ( $ proxmox -> nodes ()-> qemu ()-> get ());
// Read all QEMU for a node
print_r ( $ proxmox -> nodes ()-> node ( " node_name " )-> qemu ()-> get ()); <?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox PVE ;
//Example for lazy login
$ proxmox = new PVE ( " hostname " , " username " , " password " , 8006 , " pve " , false , true );
//Login
$ proxmox -> getApi ()-> login ();
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ()); <?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox PVE ;
$ customGuzzleHttpClient = new GuzzleHttp Client ();
//Example for lazy login
$ proxmox = new PVE ( " hostname " , " username " , " password " , 8006 , " pve " , false , false , $ customGuzzleHttpClient );
// Read all nodes
print_r ( $ proxmox -> nodes ()-> get ());| 警告:Array选项是在版本3.0之后不再支持的! |
|---|
<?php
// Require the autoloader
require_once ' vendor/autoload.php ' ;
// Use the library namespace
use Proxmox PVE ;
/**
* Connect established (For version 3.0)
*
* authType and port defaults to 'pam' and '8006' but you can specify them like so
*
* !!! WARNING !!!
* This variant is after version 3.0 no longer supported
*
*/
$ credentials = [
' hostname ' => ' 127.0.0.1 ' ,
' username ' => ' root ' ,
' password ' => ' example ' ,
' authType ' => ' pam ' ,
' port ' => ' 8006 ' ,
];
// Then simply pass your credentials when creating the API client object.
$ proxmox = new PVE ( $ credentials );
//Read all nodes
print_r ( $ proxmox -> nodes ()-> get ());
//Read all lxc
print_r ( $ proxmox -> nodes ()-> lxc ()-> get ());
//Read all qemu
print_r ( $ proxmox -> nodes ()-> qemu ()-> get ());